Python

[Python] ๋ฆฌ์ŠคํŠธ, ๋”•์…”๋„ˆ๋ฆฌ ๋‹ค๋ฃจ๊ธฐ2 - ๋”•์…”๋„ˆ๋ฆฌ, ๋”•์…”๋„ˆ๋ฆฌ ํ•จ์ˆ˜

jpocket 2025. 4. 1. 16:19
๋ฐ˜์‘ํ˜•

๐Ÿ”ถ key-value ์ถ”๊ฐ€ํ•˜๊ธฐ : setdefault(), update()

๐Ÿ”ถsetdafult()

๋”•์…”๋„ˆ๋ฆฌ.setdefault( key, value )
  • key๊ฐ’๋งŒ ๋„ฃ๊ธฐ

dict_uni.setdefault('c')

setdefault()๋ฅผ ํ™œ์šฉํ•˜์—ฌ key๊ฐ’์„ ๋„ฃ๋Š”๋‹ค.
value๋Š” ์ž๋™์œผ๋กœ None ๊ฐ’์ด ๋„ฃ์–ด์ง„๋‹ค.
 
 
  • key, value๊ฐ’ ๋ชจ๋‘ ๋„ฃ๊ธฐ

dict_uni.setdefault('e', 101)

setdefault()๋ฅผ ํ™œ์šฉํ•˜์—ฌ key, value ๋ชจ๋‘ ๋„ฃ๋Š”๋‹ค.

 

 

๐Ÿ”ถupdate()

๋”•์…”๋„ˆ๋ฆฌ.update( iterable )

์ถ”๊ฐ€, ์ˆ˜์ •์ด ๊ฐ€๋Šฅํ•œ update() ํ•จ์ˆ˜๋‹ค.

dict_uni.update(f=102)

key, value ๋ฅผ ๋ฐ”๋กœ ์ถ”๊ฐ€ํ•  ์ˆ˜ ์žˆ๋‹ค. 

 

 

 

Q. setdefault() ํ•จ์ˆ˜์™€ update() ํ•จ์ˆ˜์˜ ์ฐจ์ด๊ฐ€ ๋ฌด์—‡์ผ๊นŒ?

setdefault() ํ•จ์ˆ˜์— key์™€ value๋ฅผ ๋ชจ๋‘ ๋„ฃ์„ ๊ฒฝ์šฐ, key๊ฐ€ ๋”•์…”๋„ˆ๋ฆฌ์— ์ด๋ฏธ ์กด์žฌํ•œ๋‹ค๋ฉด setdefault() ํ•จ์ˆ˜๋Š” ๋ฐ์ดํ„ฐ์— ์˜ํ–ฅ์„ ์ฃผ์ง€ ๋ชปํ•œ๋‹ค. (setdefault() ํ•จ์ˆ˜์— ์ž…๋ ฅ๋œ value ๊ฐ’ ๋ฌด์‹œ)
๋ฐ˜๋ฉด, update() ํ•จ์ˆ˜๋Š” ๊ธฐ์กด์˜ value ๊ฐ’๊ณผ ์ƒ๊ด€์—†์ด ๋”•์…”๋„ˆ๋ฆฌ์˜ ๋ฐ์ดํ„ฐ๋ฅผ ์—…๋ฐ์ดํŠธํ•œ๋‹ค.

 

 


๐Ÿ”ถ key-value ์‚ญ์ œํ•˜๊ธฐ : pop(), popitem()

๐Ÿ”ถ pop()

๋งˆ์ง€๋ง‰ ์š”์†Œ๋ฅผ ์ถœ๋ ฅํ•˜๊ณ  ๊ทธ ์ดํ›„์— ๋งˆ์ง€๋ง‰ ์š”์†Œ๋ฅผ ์‚ญ์ œ

๋ฆฌ์ŠคํŠธ์—์„œ๋Š” pop() ํ˜•ํƒœ๋กœ ์‚ฌ์šฉํ•˜์ง€๋งŒ

์ˆœ์„œ๊ฐ€ ์ƒ๊ด€์—†๋Š” ๋”•์…”๋„ˆ๋ฆฌ์—์„œ๋Š” pop()ํ•จ์ˆ˜ ์•ˆ์— ์ธ์ž๋ฅผ ๋„ฃ์ง€ ์•Š์œผ๋ฉด ์˜ค๋ฅ˜๊ฐ€ ๋ฐœ์ƒํ•œ๋‹ค.

๋”ฐ๋ผ์„œ ๋”•์…”๋„ˆ๋ฆฌ์—์„œ๋Š” ๋ฐ˜๋“œ์‹œ key๋ฅผ ๋„ฃ์–ด์ฃผ์–ด์•ผ ํ•œ๋‹ค.

dict_uni.pop('g')
# dict_uni ๊ฐ€ ๋”•์…”๋„ˆ๋ฆฌ๋กœ ๊ฐ€์ •
nums = list(range(1, 11))
result = 0

for i in range(10):
    result += nums.pop() # list์ด๋ฏ€๋กœ pop() ์•ˆ์— key์ง€์ • ํ•„์ˆ˜ ์•„๋‹˜

print(result)
55

 

 

๐Ÿ”ถ popitem()

๋ฆฌ์ŠคํŠธ์—์„œ pop()์ฒ˜๋Ÿผ ๋”•์…”๋„ˆ๋ฆฌ์—์„œ ํŠน์ • key๋ฅผ ์ง€์ •ํ•˜์ง€ ์•Š์•„๋„ ๋งˆ์ง€๋ง‰ value๋งŒ ์ถœ๋ ฅํ•ด ์ค€๋‹ค.

 

 

 


๐Ÿ”ถ ๋”•์…”๋„ˆ๋ฆฌ ์ƒ์„ฑ : fromkeys()

๐Ÿ”ถ fromkeys()
๋ฆฌ์ŠคํŠธ๋‚˜ ํŠœํ”Œ์„ ๋„ฃ์œผ๋ฉด ์ž๋™์œผ๋กœ ๋”•์…”๋„ˆ๋ฆฌ๋ฅผ ๋งŒ๋“ค ์ˆ˜ ์žˆ๋Š” ํ•จ์ˆ˜๋‹ค.
 
age_li = [60, 28, 30, 34, 66, 11] 
pereson_list = dict.fromkeys(age_li)
pereson_list
{60: None, 28: None, 30: None, 34: None, 66: None, 11: None}
 

fromkeys()์— key์— ํ•ด๋‹นํ•˜๋Š” ๋ฆฌ์ŠคํŠธ๋ฅผ ๋„ฃ์–ด์ฃผ๋ฉด value์—๋Š” None์ด ์ž๋™์œผ๋กœ ๋“ค์–ด๊ฐ„๋‹ค.

 

 

age_li= [60, 28, 30, 34, 66, 11]
person_dict= dict.fromkeys( age_li , 'kor') 
person_dict
{60: 'kor', 28: 'kor', 30: 'kor', 34: 'kor', 66: 'kor', 11: 'kor'}

value๋ฅผ ๋”ฐ๋กœ ๋„ฃ์–ด์ค„ ์ˆ˜๋„ ์žˆ๋‹ค.

0:00/8:11
 

 


in / not in

๋ฆฌ์ŠคํŠธ์™€ ๋”•์…”๋„ˆ๋ฆฌ ๊ณตํ†ต ์˜ˆ์•ฝ์–ด

in / not in ์˜ ๋ฆฌํ„ด๊ฐ’์€ boolํ˜•ํƒœ๋กœ ์ฆ‰, True ๋˜๋Š” False๋กœ ๋ฆฌํ„ด

value ๊ฐ’์€ ํ™•์ธ ๋ถˆ๊ฐ€๋Šฅํ•˜๋ฏ€๋กœ values() ํ•จ์ˆ˜๋ฅผ ์‚ฌ์šฉ

 

 

dict_uni = {'a': 97, 'b':98, 'c':99, 'd':100}
'a' in dict_uni
# 100 in dict_uni
100 in dict_uni.values()

 

 

 

๋ฐ˜์‘ํ˜•