Computer >> 컴퓨터 >  >> 프로그램 작성 >> Python

Python - 선택 목록의 값을 기반으로 사전 키 필터링

<시간/>

때로는 Python 사전에서 특정 기준에 따라 사전의 특정 키를 필터링해야 할 수도 있습니다. 이 기사에서는 Python 사전에서 키를 필터링하는 방법을 살펴봅니다.

for 및 in

이 접근 방식에서는 필터링할 키 값을 목록에 넣습니다. 그런 다음 목록의 각 요소를 반복하고 주어진 사전에 존재하는지 확인합니다. 사전에서 찾은 이러한 값을 포함하는 결과 사전을 만듭니다.

dictA= {'Mon':'Phy','Tue':'chem','Wed':'Math','Thu':'Bio'}
key_list = ['Tue','Thu']

print("Given Dictionary:\n",dictA)
print("Keys for filter:\n",key_list)
res = [dictA[i] for i in key_list if i in dictA]

print("Dictionary with filtered keys:\n",res)

출력

위의 코드를 실행하면 다음과 같은 결과가 나옵니다. -

Given Dictionary:
   {'Mon': 'Phy', 'Tue': 'chem', 'Wed': 'Math', 'Thu': 'Bio'}
Keys for filter:
   ['Tue', 'Thu']
Dictionary with filtered keys:
   ['chem', 'Bio']

교차로 있음

우리는 주어진 사전과 목록 사이의 공통 요소를 찾기 위해 교집합을 사용합니다. 그런 다음 set 함수를 적용하여 고유한 요소를 가져오고 결과를 목록으로 변환합니다.

dictA= {'Mon':'Phy','Tue':'chem','Wed':'Math','Thu':'Bio'}
key_list = ['Tue','Thu']

print("Given Dictionary:\n",dictA)
print("Keys for filter:\n",key_list)

temp = list(set(key_list).intersection(dictA))

res = [dictA[i] for i in temp]

print("Dictionary with filtered keys:\n",res)

출력

위의 코드를 실행하면 다음과 같은 결과가 나옵니다. -

Given Dictionary:
   {'Mon': 'Phy', 'Tue': 'chem', 'Wed': 'Math', 'Thu': 'Bio'}
Keys for filter:
   ['Tue', 'Thu']
Dictionary with filtered keys:
   ['chem', 'Bio']