Python에서 목록 내 사전 검색
문제:
사전 목록이 제공됨 , 키-값 쌍을 기반으로 특정 사전을 효율적으로 검색하고 검색하려면 어떻게 해야 할까요? 이 경우 "name" 키가 "Pam"으로 설정된 사전을 찾고 싶습니다.
[ { "name": "Tom", "age": 10 }, { "name": "Mark", "age": 5 }, { "name": "Pam", "age": 7 }, ]
해결책:
검색 작업을 수행하려면 , Python에 내장된 생성기 표현식을 활용할 수 있습니다.
dicts = [ { "name": "Tom", "age": 10 }, { "name": "Mark", "age": 5 }, { "name": "Pam", "age": 7 }, ] result = next(item for item in dicts if item["name"] == "Pam") print(result)
이 코드는 다음을 사용하여 목록의 각 사전을 반복합니다. "item["name"] == "Pam"" 조건을 기반으로 하는 생성기 표현식 및 필터입니다. 일치하는 사전이 발견되면 next() 함수는 일치하는 첫 번째 항목을 반환합니다.
{'name': 'Pam', 'age': 7}
또는 일치하는 항목을 찾을 수 없는 경우를 처리해야 하는 경우 다음 접근 방식을 사용할 수 있습니다. :
next((item for item in dicts if item["name"] == "Pam"), None)
일치하는 항목이 없으면 None을 반환하는 코드입니다.
항목이 아닌 일치하는 항목의 인덱스를 찾으려면 자체적으로 목록을 열거할 수 있습니다.
next((i for i, item in enumerate(dicts) if item["name"] == "Pam"), None)
위 내용은 Python의 키-값 쌍을 기반으로 목록에서 사전을 효율적으로 검색하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!