딕셔너리 리스트에서 필요한 것만 골라서 리스트에 저장하고 싶어요 ㅠ ㅠ
조회수 4203회
{ "code": "0000031852", "title": "Girls Ballet Tutu Zebra Hot Pink"}
이런식으로 딕셔너리로 구성된 리스트에서요, title에 "Pink" 문자열이 포함된 것만 찾아서, code 값을 리스트에 저장하려면 어떻게 해야할까요? ㅠ ㅠ
-
(•́ ✖ •̀)
알 수 없는 사용자
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)
-
(•́ ✖ •̀)
알 수 없는 사용자
-
-
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']))만 추출
댓글 입력