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

Python - 두 사전의 키 차이

<시간/>

두 개의 파이썬 사전은 그들 사이에 몇 가지 공통 키를 포함할 수 있습니다. 이 기사에서는 주어진 두 사전에 있는 키의 차이를 얻는 방법을 찾을 것입니다.

세트 포함

여기서 우리는 두 개의 딕셔너리를 가져와서 set 함수를 적용합니다. 그런 다음 두 세트를 빼서 차이를 구합니다. 우리는 첫 번째 사전에서 두 번째 사전을 빼고 첫 번째 사전 양식을 두 번째로 빼서 두 가지 방법으로 수행합니다. 일반적이지 않은 키는 결과 집합에 나열됩니다.

예시

dictA = {'1': 'Mon', '2': 'Tue', '3': 'Wed'}
print("1st Distionary:\n",dictA)
dictB = {'3': 'Wed', '4': 'Thu','5':'Fri'}
print("1st Distionary:\n",dictB)

res1 = set(dictA) - set(dictB)
res2 = set(dictB) - set(dictA)
print("\nThe difference in keys between both the dictionaries:")
print(res1,res2)

출력

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

1st Distionary:
{'1': 'Mon', '2': 'Tue', '3': 'Wed'}
1st Distionary:
{'3': 'Wed', '4': 'Thu', '5': 'Fri'}
The difference in keys between both the dictionaries:
{'2', '1'} {'4', '5'}

for 루프와 함께 사용

또 다른 접근 방식에서는 for 루프를 사용하여 한 사전의 키를 반복하고 두 번째 사전의 in 절을 사용하여 존재 여부를 확인할 수 있습니다.

예시

dictA = {'1': 'Mon', '2': 'Tue', '3': 'Wed'}
print("1st Distionary:\n",dictA)
dictB = {'3': 'Wed', '4': 'Thu','5':'Fri'}
print("1st Distionary:\n",dictB)

print("\nThe keys in 1st dictionary but not in the second:")
for key in dictA.keys():
   if not key in dictB:
      print(key)

출력

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

1st Distionary:
{'1': 'Mon', '2': 'Tue', '3': 'Wed'}
1st Distionary:
{'3': 'Wed', '4': 'Thu', '5': 'Fri'}

The keys in 1st dictionary but not in the second:
1
2