반응형
안녕하세요 한주현입니다.
오늘은 python에서 두 개 이상의 딕셔너리 사전 자료형을 하나로 합치는 방법에 대해 알아보겠습니다.
Dictionary 사전 자료형
Dictionary 사전 자료형은 key : value 로 이루어진 자료형으로
{"key" : "value"} 형태로 중괄호로 묶어서 표현합니다.
우리가 많이 사용하는 json 형태와도 동일한 형태이며,
1 2 3 | >>> my_dic = {"name" : "한주현", "weight" : 62} >>> my_dic["name"] 한주현 | cs |
이렇게 dictionary 에 key 값을 넣어주면 정해준 value 가 반환됩니다 ㅎㅎ
너무 신기하네요
이러한 dictionary 에 key 와 value 에 들어갈 수 있는 자료형에 대해 알아보면,
key 는 immutable 한 자료형으로 하나의 dictionary 에서는 하나의 unique 한 key 가 들어갈 수 있습니다
immutable 한 자료형이라고 한다면,
단순히 문자열, 숫자 가 있으며 tuple 도 됩니다 ㅎㅎ;
immutable 한 자료형만 들어가야하는 이유는 dictionary에 key 값으로 접근하는데, key 값이 바뀌어서는 안되기 때문이지요
value 는 key 와는 다르게 값이 겹쳐도 되고 어떤 자료형이던 올 수 있습니다.
Dictionary 간 합쳐서 하나의 dictionary 만들기
이번 포스팅의 메인 주제 입니다 ㅎㅎ
여러개의 dictionary 를 어떻게 합칠 수 있을까요?
단순히 for 문을 사용하여 key 를 보며 하나의 dictionary 로 넣을 수도 있겠지만
훨~ 씬 멋진 방법이 있습니다 ㅎㅎ
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 | $ python Python 3.6.0 |Anaconda 4.3.0 (64-bit)| (default, Dec 23 2016, 12:22:00) [GCC 4.4.7 20120313 (Red Hat 4.4.7-1)] on linux Type "help", "copyright", "credits" or "license" for more information. >>> my_dic1 = {'a':1, 'b':2} >>> my_dic2 = {'c':3, 'd':4} >>> {**my_dic1, **my_dic2} {'a': 1, 'b': 2, 'c': 3, 'd': 4} >>> my_dic3 = {'a':3, 'b':4} >>> {**my_dic1, **my_dic3} ## 뒤의 넣은 사전 값이 덮어 씌워짐을 알 수 있습니다. {'a': 3, 'b': 4} >>> {**my_dic3, **my_dic1} ## 뒤의 넣은 사전 값이 덮어 씌워짐을 알 수 있습니다. {'a': 1, 'b': 2} ## 세 개 이상의 사전도 합칠 수 있습니다. 마찬가지로 뒤의 넣은 사전 값이 덮어 씌워짐을 알 수 있습니다. >>> {**xs, **ys, **zs} {'a': 3, 'b': 4, 'c': 3, 'd': 4} >>> | cs |
이 방법은 python 3.5 이상에서 가능한 방법입니다 ..ㅎㅎ
여러분 !! 이제는 python2 를 놓아주고 python3 을 씁시다!! ㅎㅎ
혹시나 아래 처럼 안되시는 분들도 계실겁니다 ㅎㅎ;; python2 인지 버전을 확인해주세요 ㅎㅎ..
1 2 3 4 5 6 7 8 9 10 11 12 13 | $ python Python 2.7.10 (default, Oct 6 2017, 22:29:07) [GCC 4.2.1 Compatible Apple LLVM 9.0.0 (clang-900.0.31)] on darwin Type "help", "copyright", "credits" or "license" for more information. >>> my_dic1 = {'a':1, 'b':2} >>> my_dic2 = {'c':3, 'd':4} >>> {**my_dic1,**my_dic2} File "<stdin>", line 1 {**my_dic1,**my_dic2} ^ SyntaxError: invalid syntax >>> | cs |
혹시나 python2 에서 너무나도 dictionary 합치기를 하시고 싶으신 분들을 위해 스크립트를 준비했습니다..ㅋㅋ
물론 아래 스크립트는 python3 에서도 됩니다
1 2 3 4 5 6 7 8 9 | >>> def merge_dic(x, y): ... z = x ... z.update(y) ... return z ... >>> merge_dic(my_dic1, my_dic2) {'a': 1, 'c': 3, 'b': 2, 'd': 4} >>> | cs |
오늘은 파이썬 딕셔너리 사전을 합치는 방법에 대해 알아보았습니다.
여러분께 도움이 되셨으면 좋겠네요 :)
그럼 다음에 또 만나요 ^^
- 참고 URL
기부 버튼을 만들었습니다
여러분들의 작은 정성이 저에게 큰 힘이 됩니다
기부해주신 분들을 기억하며
더 좋은 내용으로 보답해 드리겠습니다 :)
Donate 버튼은 paypal 결제로 paypal 계정이 없으시더라도
카드로도 기부 가능하십니다 :)
Use your credit card or bank account (where available). 옆의 continue 를 누르시면 됩니다
한주현 드림
반응형
댓글