Python에서 사전 목록 검색
-
next()
함수를 사용하여 Python에서 사전 목록 검색 -
Python에서
filter()
함수를 사용하여 사전 목록 검색 - List Comprehension을 사용하여 Python에서 사전 목록 검색
이 자습서에서는 Python에서 사전 목록을 검색하는 데 사용할 수있는 방법을 소개합니다.
next()
함수를 사용하여 Python에서 사전 목록 검색
next()
함수를 사용하여 주어진 반복기에서 다음 항목으로 결과를 제공 할 수 있습니다. 이 방법은 또한 모든 조건에 대해 프로세스를 테스트하기 위해for
루프를 사용해야합니다.
다음 코드는next()
함수를 사용하여 Python에서 사전 목록을 검색합니다.
lstdict = [
{"name": "Klaus", "age": 32},
{"name": "Elijah", "age": 33},
{"name": "Kol", "age": 28},
{"name": "Stefan", "age": 8},
]
print(next(x for x in lstdict if x["name"] == "Klaus"))
print(next(x for x in lstdict if x["name"] == "David"))
출력:
{'name': 'Klaus', 'age': 32}
Traceback (most recent call last):
File "<string>", line 8, in <module>
StopIteration
이 방법은 사전 목록에 이미있는 이름을 검색 할 때 성공적으로 구현됩니다. 그래도 사전 목록에없는 이름을 검색하면StopIteration
오류가 발생합니다.
그러나이 문제는 위의 코드에서 쉽게 처리 할 수 있습니다. 약간 다른 API를 사용하여 기본값을 조정하고 제공하기 만하면됩니다.
lstdict = [
{"name": "Klaus", "age": 32},
{"name": "Elijah", "age": 33},
{"name": "Kol", "age": 28},
{"name": "Stefan", "age": 8},
]
print(next((x for x in lstdict if x["name"] == "David"), None))
출력:
None
항목 자체를 찾는 대신 사전 목록에서 항목의 색인을 찾을 수도 있습니다. 이를 구현하기 위해enumerate()
함수를 사용할 수 있습니다.
다음 코드는next()
함수와enumerate()
함수를 사용하여 항목의 색인을 검색하고 찾습니다.
lstdict = [
{"name": "Klaus", "age": 32},
{"name": "Elijah", "age": 33},
{"name": "Kol", "age": 28},
{"name": "Stefan", "age": 8},
]
print(next((i for i, x in enumerate(lstdict) if x["name"] == "Kol"), None))
출력:
2
Python에서filter()
함수를 사용하여 사전 목록 검색
filter(function, sequence)
함수은sequence
를 Python의function
과 비교하는 데 사용됩니다. 함수에 따라 시퀀스의 각 요소가 참인지 아닌지 확인합니다. lambda
함수와 함께filter()
함수를 사용하여 항목에 대한 사전 목록을 쉽게 검색 할 수 있습니다. Python3에서filter()
함수는filter
클래스의 객체를 반환합니다. list()
함수를 사용하여 해당 객체를 목록으로 변환 할 수 있습니다.
다음 코드 예제는filter()
및lambda
함수를 사용하여 특정 요소에 대한 사전 목록을 검색하는 방법을 보여줍니다.
listOfDicts = [
{"name": "Tommy", "age": 20},
{"name": "Markus", "age": 25},
{"name": "Pamela", "age": 27},
{"name": "Richard", "age": 22},
]
list(filter(lambda item: item["name"] == "Richard", listOfDicts))
출력:
[{'age': 22, 'name': 'Richard'}]
lambda
함수와 함께filter()
함수를 사용하여name
키가Richard
와 같은 요소에 대한 사전 목록을 검색했습니다. 먼저 사전 목록 인listOfDicts
를 초기화하고filter()
함수를 사용하여lambda
함수lambda item: item['name'] == 'Richard'
와 일치하는 값을 검색했습니다. 그것. 마지막으로list()
함수를 사용하여 결과를 목록으로 변환했습니다.
List Comprehension을 사용하여 Python에서 사전 목록 검색
목록 이해는 이미 존재하는 목록의 주어진 값을 기반으로 구성 될 목록을 만드는 비교적 짧고 매우 우아한 방법입니다.
list comprehension을 사용하여 Python에서 사전 목록 검색 결과를 생성하는 목록을 반환 할 수 있습니다.
다음 코드는 목록 이해력을 사용하여 Python에서 사전 목록을 검색합니다.
lstdict = [
{"name": "Klaus", "age": 32},
{"name": "Elijah", "age": 33},
{"name": "Kol", "age": 28},
{"name": "Stefan", "age": 8},
]
print([x for x in lstdict if x["name"] == "Klaus"][0])
출력:
{'name': 'Klaus', 'age': 32}
Maisam is a highly skilled and motivated Data Scientist. He has over 4 years of experience with Python programming language. He loves solving complex problems and sharing his results on the internet.
LinkedIn관련 문장 - Python Dictionary
- 파이썬에서 키가 사전에 있는지 확인하는 방법
- Python에서 사전을 목록으로 변환
- 디렉토리의 모든 파일을 얻는 방법
- 파이썬 사전에서 최대 값을 찾는 방법
- 값으로 파이썬 사전을 정렬하는 방법
- 파이썬 2와 3에서 두 개의 사전을 병합하는 방법