반응형

파이썬에서 두 개의 딕셔너리를 결합(merge)하는 방법을 다룹니다. 

 

2023. 12. 7 최초작성



파이썬 버전에 따라 두 개의 딕셔너리를 결합하는 방법에 차이가 있습니다.

 

** 연산자 사용 (파이썬 3.5 이상)

주의할 점은 똑같은 key가 두개의 딕셔너리에 있는 경우 뒤에 적은 딕셔너리의 값만 남습니다. 아래 예에서는 두 개의 딕셔너리를 결합시 dict2를 뒤에 적었기 때문에 키  'b'의 값은 3이 되었습니다. 

 

dict1 = {'a': 1, 'b': 2}
dict2 = {'b': 3, 'c': 4}

combined_dict = {**dict1, **dict2}

print(combined_dict)
# {'a': 1, 'b': 3, 'c': 4}



| 연산자 사용 (파이썬 3.9 이상)

 

** 연산자와 동일하게 동작합니다. 

 

주의할 점은 똑같은 key가 두개의 딕셔너리에 있는 경우 뒤에 적은 딕셔너리의 값만 남습니다. 아래 예에서는 두 개의 딕셔너리를 결합시 dict2를 뒤에 적었기 때문에 키  'b'의 값은 3이 되었습니다. 

 

dict1 = {'a': 1, 'b': 2}
dict2 = {'b': 3, 'c': 4}

combined_dict = dict1 | dict2

print(combined_dict)
# {'a': 1, 'b': 3, 'c': 4}




update() 메소드 사용

 

딕셔너리 dict1의 update 메소드를 사용하여 딕셔너리 dict2의 원소를 딕셔너리 dict1에 추가합니다. 

 

주의할 점은 똑같은 key가 두개의 딕셔너리에 있는 경우 update 메소드에 아규먼트로 적은 딕셔너리의 값만 남습니다. 아래 예에서는 두 개의 딕셔너리를 결합시 dict2를 update 메소드에 아규먼트로 적었기 때문에 키  'b'의 값은 3이 되었습니다. 

 

dict1 = {'a': 1, 'b': 2}
dict2 = {'b': 3, 'c': 4}

dict1.update(dict2)

print(dict1)
# {'a': 1, 'b': 3, 'c': 4}





반응형

문제 발생시 지나치지 마시고 댓글 남겨주시면 가능한 빨리 답장드립니다.


제가 쓴 책도 한번 검토해보세요 ^^

+ Recent posts