프로그래밍 언어/Python

Python 사전 검색 목록

Rateye 2021. 6. 18. 10:05
728x90
반응형
질문 : Python 사전 검색 목록

내가 이것을 가지고 있다고 가정합니다.

[
{"name": "Tom", "age": 10},
{"name": "Mark", "age": 5},
{"name": "Pam", "age": 7}
]

이름으로 "Pam"을 검색하여 관련 사전을 검색하고 싶습니다 : {name: "Pam", age: 7}

이것을 달성하는 방법?

답변

생성기 표현식을 사용할 수 있습니다.

>>> dicts = [
...     { "name": "Tom", "age": 10 },
...     { "name": "Mark", "age": 5 },
...     { "name": "Pam", "age": 7 },
...     { "name": "Dick", "age": 12 }
... ]

>>> next(item for item in dicts if item["name"] == "Pam")
{'age': 7, 'name': 'Pam'}

존재하지 않는 항목을 처리해야하는 경우 Matt 사용자가 의견에서 제안한 대로 수행하고 약간 다른 API를 사용하여 기본값을 제공 할 수 있습니다.

next((item for item in dicts if item["name"] == "Pam"), None)

항목 자체가 아닌 항목의 색인을 찾으려면 목록을 열거 () 할 수 있습니다.

next((i for i, item in enumerate(dicts) if item["name"] == "Pam"), None)
출처 : https://stackoverflow.com/questions/8653516/python-list-of-dictionaries-search
728x90
반응형