Computer >> 컴퓨터 >  >> 프로그래밍 >> Python

Python 딕셔너리에서 일치하는 키를 검색하는 방법

찾고자 하는 키를 정확히 알고 있다면 [] 연산자나 get() 함수를 사용하여 해당 키에 연결된 값을 간단하게 가져올 수 있습니다. 아래 예제를 살펴보겠습니다.

예제

a = {
    'foo': 45,
    'bar': 22
}
print(a['foo'])
print(a.get('foo'))

출력 결과

위 코드를 실행하면 다음과 같은 출력이 나타납니다.

45
45

부분 문자열로 키 검색하기

만약 정확한 키가 아니라 특정 부분 문자열(substring)이 포함된 키를 찾고 싶다면, 딕셔너리의 키 목록을 순회하면서 문자열 검색을 수행할 수 있습니다. 조건에 맞는 키를 찾으면 해당 키의 값을 사용하면 됩니다. 예를 들어, 'oo'라는 부분 문자열이 포함된 키를 검색하는 코드는 다음과 같습니다.

예제

a = {
    'foo': 45,
    'bar': 22
}
for key in a.keys():
    if key.find('oo') > -1:
        print(a[key])

출력 결과

'foo' 키에 'oo'가 포함되어 있으므로 해당 값이 출력됩니다.

45

추가 팁: startswith()와 endswith() 활용

부분 문자열 검색 외에도 startswith() 메서드를 사용하면 특정 접두사로 시작하는 키를 더 명확하게 찾을 수 있습니다.

for key in a.keys():
    if key.startswith('fo'):
        print(a[key])

또한 Python 3.x 이상에서는 딕셔너리 컴프리헨션(dictionary comprehension)을 사용해 조건에 맞는 모든 키-값 쌍을 한 번에 추출할 수도 있습니다.

result = {k: v for k, v in a.items() if 'oo' in k}
print(result)  # {'foo': 45}

이처럼 상황에 따라 [] 연산자, get(), 반복문, 컴프리헨션 등 다양한 방법으로 딕셔너리의 키를 검색하고 원하는 값을 얻을 수 있습니다.