딕셔너리 리스트에서 필요한 것만 골라서 리스트에 저장하고 싶어요 ㅠ ㅠ


{ "code": "0000031852", "title": "Girls Ballet Tutu Zebra Hot Pink"}

이런식으로 딕셔너리로 구성된 리스트에서요, title에 "Pink" 문자열이 포함된 것만 찾아서, code 값을 리스트에 저장하려면 어떻게 해야할까요? ㅠ ㅠ

  • 2018년 02월 14일에 작성됨

조회수 68


2 답변


문제를 맞게 이해했는지 잘 모르겠는데요

list1 = [
{'code':'1', 'title':'black'},
{'code':'2', 'title':'pink'},
{'code':'3', 'title':'white'}
]

result = []
for x in list1 :
    if x['title'].find('pink')!=-1 :
        result.append(x['code'])
print(result)
  • 2018년 02월 17일에 작성됨
    machine learning에 관심


asq 모듈도 한번 사용해보세요. https://github.com/sixty-north/asq

pandas도 좋은 모듈이지만 가볍게 사용하기에는 asq 도 참 편합니다.

list1 = [
{'code':'1', 'title':'black'},
{'code':'2', 'title':'pink'},
{'code':'3', 'title':'white'},
{'code':'4', 'title':'pink'}
]

from asq.initiators import query
r = query(list1).where(lambda item:item['title'] == 'pink').select(lambda item:item['code']).to_list()
print(r)

['2', '4']

코드는 한줄인데 간단합니다. 질문자가 원하는 그대로죠.

데이터들(query(list1))에서 title 이 pink 인 항목(.where(lambda item:item['title'] == 'pink'))중에 code 값(.select(lambda item:item['code']))만 추출

  • 2018년 02월 19일에 작성됨

로그인이 필요한 기능입니다.

Hashcode는 개발자들을 위한 무료 QnA사이트 입니다. 작성한 답변에 다른 개발자들이 댓글을 작성하거나 좋아요/싫어요를 할 수 있기 때문에 계정을 필요로 합니다.
► 로그인
► 계정만들기
Close