개발/파이썬

파이썬에서 딕셔너리 확장하기

맨날치킨 2022. 12. 28. 09:05
반응형

Stack Overflow에 자주 검색, 등록되는 문제들과 제가 개발 중 찾아 본 문제들 중에서 나중에도 찾아 볼 것 같은 문제들을 정리하고 있습니다.

Stack Overflow에서 가장 먼저 확인하게 되는 가장 높은 점수를 받은 Solution과 현 시점에 도움이 될 수 있는 가장 최근에 업데이트(최소 점수 확보)된 Solution을 각각 정리하였습니다.

 

아래 word cloud를 통해 이번 포스팅의 주요 키워드를 미리 확인하세요.

Python "extend" for a dictionary

파이썬에서 딕셔너리를 위한 확장(extend)

 문제 내용 

What is the best way to extend a dictionary with another one while avoiding the use of a for loop? For instance:

딕셔너리를 다른 딕셔너리로 확장하면서 for 루프를 사용하지 않는 최선의 방법은 무엇인가요? 예를 들어:
>>> a = { "a" : 1, "b" : 2 }
>>> b = { "c" : 3, "d" : 4 }
>>> a
{'a': 1, 'b': 2}
>>> b
{'c': 3, 'd': 4}

 

Result:

결과:
{ "a" : 1, "b" : 2, "c" : 3, "d" : 4 }

 

Something like:

다음과 같은 것:
a.extend(b)  # This does not work

 

 

 높은 점수를 받은 Solution 

a.update(b)

Latest Python Standard Library Documentation

최신 Python 표준 라이브러리 문서에서 확인할 수 있습니다.

 

 

 

 가장 최근 달린 Solution 

Notice that since Python 3.9 a much easier syntax was introduced (Union Operators):

주의: Python 3.9부터 Union Operators라는 훨씬 쉬운 구문이 도입되었습니다.
d1 = {'a': 1}
d2 = {'b': 2}

extended_dict = d1 | d2
>> {'a':1, 'b': 2}

 

Pay attention: in case first dict shared keys with second dict, position matters!

주의: 먼저 공유 키를 두 번째 딕트로 받아쓰는 경우, 위치가 중요합니다!
d1 = {'b': 1}
d2 = {'b': 2}
d1 | d2 
>> {'b': 2} 

 

Relevant PEP

관련 PEP도 참고해보세요.

 

 

 

출처 : https://stackoverflow.com/questions/577234/python-extend-for-a-dictionary

반응형