두 개의 파이썬 사전은 그들 사이에 몇 가지 공통 키를 포함할 수 있습니다. 이 기사에서는 주어진 두 사전에 있는 키의 차이를 얻는 방법을 찾을 것입니다.
세트 포함
여기서 우리는 두 개의 딕셔너리를 가져와서 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