๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ
๐Ÿ | Python

Python_๋‘ ๊ฐœ์˜ ๋”•์…”๋„ˆ๋ฆฌ ํ•ฉ์น˜๊ธฐ!

by KASSID 2022. 1. 19.

ํŒŒ์ด์ฌ์˜ dictionary๋ฅผ ๋‹ค๋ฃจ๋Š” ๋„์ค‘

 

2๊ฐœ์˜ dictionary๋ฅผ ํ•ฉ์น˜๋Š” ๋ฐฉ๋ฒ•์— ๋Œ€ํ•ด์„œ ๊ณต๋ถ€ํ•ด๋ณด์•˜๋‹ค!

 

1. key๊ฐ’์ด ๊ฒน์น˜์ง€ ์•Š์„ ๋•Œ

dict_1 = {'A':1, 'B':2, 'C':3}
dict_2 = {'D':1, 'E':2, 'F':3}

 

- update()

result = dict_1
result.update(dict_2)
>>> {'A': 1, 'B': 2, 'C': 3, 'D': 1, 'E': 2, 'F': 3}

dictnary์˜ ๋ฉ”์†Œ๋“œ ์ค‘ ํ•˜๋‚˜์ธ update๋ฅผ ์ด์šฉํ•˜๋ฉด

์œ„์™€ ๊ฐ™์ด ๋‘ ๊ฐœ๋ฅผ ํ•ฉ์น  ์ˆ˜ ์žˆ๋‹ค.

 

์ด๋•Œ, key๊ฐ’์ด ๋ชจ๋‘ ๊ฒน์น˜์ง€ ์•Š์•„์•ผ ํ•œ๋‹ค๋Š” ์ „์ œ์กฐ๊ฑด์ด ์žˆ๋‹ค.

๋งŒ์•ฝ ๊ฒน์นœ๋‹ค๋ฉด,

์ค‘๋ณต๋œ ๊ธฐ์กด key๊ฐ’์€ update์˜ ์ธ์ˆ˜๋กœ ๋„ฃ์–ด์ค€ ๊ฐ’์œผ๋กœ ๋Œ€์ฒด๋œ๋‹ค.

 


2. key๊ฐ’์ด ๊ฒน์น  ๋•Œ

๋ฐ์ดํ„ฐ๋ฅผ ๋”•์…”๋„ˆ๋ฆฌ๋กœ ์ฒ˜๋ฆฌํ•  ๋•Œ

์ƒˆ๋กœ์šด ๊ฒฐ๊ณผ๋ฅผ ์ถ”๊ฐ€ํ•˜๊ณ  ์‹ถ์€ ๊ฒฝ์šฐ

์ด ๋ฐฉ๋ฒ•์„ ํ™œ์šฉ์„ ํ•  ์ˆ˜ ์žˆ์„ ๊ฒƒ์ด๋‹ค!

 

 

- Counter

ํŒŒ์ด์ฌ์—์„œ ์ง€์›ํ•˜๋Š” collections ๋ชจ๋“ˆ์—๋Š”

Counter๋ผ๋Š” ๊ฐ์ฒด๊ฐ€ ์žˆ๋‹ค.

์ด๋ฅผ ์ด์šฉํ•ด๋ณด์ž!

 

dict_1 = {'A':1, 'B':2, 'C':3}
dict_2 = {'A':1, 'D':2, 'C':3}

 

from collections import Counter
result = dict(Counter(dict_first)+Counter(dict_second))
    
result
>>> {'A': 2, 'B': 2, 'C': 6, 'D': 4}

 

Counter๋ฅผ ์ด์šฉํ•˜์—ฌ ๋‘ dictionary ๊ฐ๊ฐ์˜ ์š”์†Œ๋“ค์˜ ์ˆ˜๋ฅผ ์„ธ์–ด์ค€ ๋’ค

ํ•ฉ์ณ์ฃผ๋Š” ๋ฐฉ์‹์œผ๋กœ ํ•ด๊ฒฐ์„ ํ•ด๋ณด์•˜๋‹ค!


์กฐ๊ฑด์„ ํ™œ์šฉํ•˜๋Š” ๋ฐฉ์‹

Counter๋ฅผ ์ด์šฉํ•˜์ง€ ์•Š๊ณ  ์กฐ๊ฑด๋ฌธ์„ ํ†ตํ•ด

ํ•ด๊ฒฐ์„ ํ•ด๋ณด์•˜๋‹ค.

result = dict_1
temp = list(dict_2.keys())
for i in range(len(dict_2)):
    if temp[i] in result:
        result[temp[i]] += dict_2[temp[i]]
    else:
        result[temp[i]] = dict_2[temp[i]]

result
>>> {'A': 2, 'B': 2, 'C': 6, 'D': 4}

 

'๐Ÿ | Python' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๋‹ค๋ฅธ ๊ธ€

[Python] collections ๋ชจ๋“ˆ  (0) 2023.01.05
Python_Call by Object Reference  (0) 2022.01.18
Python_๋ฌธ์ž์—ด ๋’ค์ง‘๊ธฐ  (0) 2022.01.17
ํŒŒ์ด์ฌ ๋ฌธ๋ฒ• ๊ณต๋ถ€  (0) 2021.08.29

๋Œ“๊ธ€