Python ๋”•์…”๋„ˆ๋ฆฌ ์ž๋ฃŒํ˜•

2021. 8. 18. 18:17ใ†๐Ÿ’ป ๊ฐœ๋ฐœ/Python

1. ๋”•์…”๋„ˆ๋ฆฌ ์Œ ์ถ”๊ฐ€, ์‚ญ์ œ

๋”•์…”๋„ˆ๋ฆฌ์— key์™€ value๋ฅผ ์ถ”๊ฐ€ํ•˜๋ ค๋ฉด ๋”•์…”๋„ˆ๋ฆฌ[key] = value ์™€ ๊ฐ™์ด ์ž…๋ ฅํ•˜๋ฉด ๋œ๋‹ค.

dict = {1: 'a'}
dict[2] = 'b'
print(dict)  # {1: 'a', 2: 'b'}

 

์š”์†Œ๋ฅผ ์‚ญ์ œํ•˜๋ ค๋ฉด del์„ ์‚ฌ์šฉํ•œ๋‹ค. 

dict = {1: 'a', 2: 'b'}
del dict[1]
print(dict)  # {2: 'b'}

 

2. key๋ฅผ ์‚ฌ์šฉํ•ด value ์–ป๊ธฐ 

๋”•์…”๋„ˆ๋ฆฌ[key]๋ฅผ ์‚ฌ์šฉํ•ด ํ•ด๋‹น value๋ฅผ ์–ป์„ ์ˆ˜ ์žˆ๋‹ค. key๋Š” ๊ณ ์œ ํ•œ ๊ฐ’์ด๋ผ๋Š” ํŠน์„ฑ์ด ์žˆ์–ด, ๊ฒน์น˜์ง€ ์•Š๊ฒŒ ๋ฐ์ดํ„ฐ๋ฅผ ์ €์žฅํ•˜๊ณ  ์–ป์„ ์ˆ˜ ์žˆ๋‹ค๋Š” ์ ์—์„œ ์œ ์šฉํ•˜๋‹ค.

dict = {1: 'a', 2: 'b'}
print(dict[1])  # a

 

๋งŒ์•ฝ, ์ค‘๋ณต๋œ key๊ฐ’์ด ์žˆ๋Š” ๊ฒฝ์šฐ, ํ•˜๋‚˜์˜ key๋ฅผ ์ œ์™ธํ•œ ๋‚˜๋จธ์ง€ key๋“ค์€ ๋ฌด์‹œ๋œ๋‹ค. ์ด๋•Œ, ๋™์ผํ•œ key์ค‘์—์„œ ๊ฐ€์žฅ ๋งˆ์ง€๋ง‰์— ์„ค์ •๋œ key๊ฐ€ ์ตœ์ข… key๊ฐ’์ด ๋œ๋‹ค. 

dict = {1: 'a', 1: 'b'}
print(dict[1])  # b

 

3. key ๋ฆฌ์ŠคํŠธ ๋งŒ๋“œ๋Š” ํ•จ์ˆ˜, keys()

๋”•์…”๋„ˆ๋ฆฌ ํ•จ์ˆ˜์ค‘, keys()๋Š” key๊ฐ’๋งŒ ๋ชจ์•„์„œ dict_keys ๊ฐ์ฒด๋ฅผ ๋ฐ˜ํ™˜ํ•œ๋‹ค. 

dict = {1: 'a', 2: 'b', 3: 'c'}
print(dict.keys())  # dict_keys([1, 2, 3])
print(list(dict.keys()))  # [1, 2, 3]

dict_keys ๋ผ๋Š” ๊ฐ์ฒด๋ฅผ ๋ฐ˜ํ™˜ํ•˜๊ธฐ ๋•Œ๋ฌธ์—, ๋ฆฌ์ŠคํŠธ๋งŒ ์–ป๊ณ ์‹ถ๋‹ค๋ฉด listํ™” ์‹œ์ผœ์ฃผ๋ฉด ๋œ๋‹ค. 

 

๋ฆฌ์ŠคํŠธ๋ฅผ ์“ฐ๋Š”๊ฒƒ๊ณผ ๋น„์Šทํ•˜์ง€๋งŒ, ๋‹ค์Œ๊ณผ ๊ฐ™์ด ์š”์†Œ๋“ค์„ ํ•˜๋‚˜์”ฉ ์–ป๊ณ ์‹ถ์„๋•Œ ์œ ์šฉํ• ๊ฒƒ๊ฐ™๋‹ค. 

dict = {1: 'a', 2: 'b', 3: 'c'}
for key in dict.keys():
    print(key, end=' ')  # 1 2 3

 

4. value ๋ฆฌ์ŠคํŠธ ๋งŒ๋“œ๋Š” ํ•จ์ˆ˜, values()

key ๋ฆฌ์ŠคํŠธ์™€ ๋งˆ์ฐฌ๊ฐ€์ง€๋กœ, values ํ•จ์ˆ˜๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด value์˜ ๋ฆฌ์ŠคํŠธ๋ฅผ ๊ตฌํ•  ์ˆ˜ ์žˆ๊ณ , ํ•จ์ˆ˜๋งŒ ์‚ฌ์šฉํ•œ๋‹ค๋ฉด dict_values ๊ฐ์ฒด๋ฅผ ๋ฐ˜ํ™˜ํ•  ๊ฒƒ์ด๋‹ค. 

dict = {1: 'a', 2: 'b', 3: 'c'}

print(dict.values())  # dict_values(['a', 'b', 'c'])
print(list(dict.values()))  # ['a', 'b', 'c']
for key in dict.values():
    print(key, end=' ')  # a b c

 

5. (key, value) ์Œ์„ ๋งŒ๋“œ๋Š” ํ•จ์ˆ˜, items()

items()๋Š” key์™€ value ์Œ์„ ํŠœํ”Œ๋กœ ๋ฌถ์–ด์„œ dict_items ๊ฐ์ฒด๋กœ ๋ฐ˜ํ™˜ํ•œ๋‹ค. 

dict = {1: 'a', 2: 'b', 3: 'c'}

print(dict.items())  # dict_items([(1, 'a'), (2, 'b'), (3, 'c')])
print(list(dict.items()))  # [(1, 'a'), (2, 'b'), (3, 'c')]

์—ฌ๊ธฐ๊นŒ์ง€ ๋‚˜์˜จ ํ•จ์ˆ˜๋“ค์€ ๋ชจ๋‘ ํŒŒ์ด์ฌ 3.0 ์ดํ›„๋กœ ๋ฆฌ์ŠคํŠธ ๋Œ€์‹ ์— dict_ํ•จ์ˆ˜๋ช… ๊ฐ™์€ ๊ฐ์ฒด๋ฅผ ๋Œ๋ ค์ค€๋‹ค. 2.7 ๊นŒ์ง€๋Š” ๋ฆฌ์ŠคํŠธ์˜€๋‹ค๊ณ  ํ•˜๋Š”๋ฐ ๋ฉ”๋ชจ๋ฆฌ ๋‚ญ๋น„๋ฅผ ์ค„์ด๊ธฐ ์œ„ํ•ด ๊ฐ์ฒด๋กœ ๋ฐ˜ํ™˜ํ•œ๋‹ค๊ณ  ํ•œ๋‹ค..! 

 

6. key๋กœ value ์–ป๋Š” ํ•จ์ˆ˜, get()

key๋ฅผ ํ†ตํ•ด์„œ value๋ฅผ ์–ป๋Š”๊ฑด ๋”•์…”๋„ˆ๋ฆฌ[key]๋กœ ์ ‘๊ทผํ•œ๋‹ค๊ณ  ํ–ˆ๋Š”๋ฐ, get ํ•จ์ˆ˜๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ๊ฒƒ๊ณผ ๋ฌด์Šจ ์ฐจ์ด๊ฐ€ ์žˆ์„๊นŒ.

dict = {1: 'a', 2: 'b', 3: 'c'}

print(dict.get(1))  # a

print(dict[4])  # KeyError
print(dict.get(4))  # None

์ด์ฒ˜๋Ÿผ ๋”•์…”๋„ˆ๋ฆฌ ๋‚ด๋ถ€์— ์กด์žฌํ•˜์ง€ ์•Š๋Š” key๋กœ ์ ‘๊ทผํ•˜๋ ค ํ• ๋•Œ, ๊ธฐ์กด์˜ ๋”•์…”๋„ˆ๋ฆฌ[key] ์‚ฌ์šฉ๋ฒ•์€ ์˜ค๋ฅ˜๋ฅผ ๋ฐœ์ƒ์‹œํ‚ค์ง€๋งŒ, 

get ํ•จ์ˆ˜๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด None์„ ๋ฐ˜ํ™˜ํ•œ๋‹ค. ์ƒํ™ฉ์— ๋งž๊ฒŒ get ํ•จ์ˆ˜๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด ๋œ๋‹ค. 

 

7. key๊ฐ€ ๋”•์…”๋„ˆ๋ฆฌ ๋‚ด๋ถ€์— ์žˆ๋Š”์ง€ ํ™•์ธ

in ํ‚ค์›Œ๋“œ๋ฅผ ์‚ฌ์šฉํ•ด ํ•ด๋‹น key๊ฐ€ ๋”•์…”๋„ˆ๋ฆฌ ์•ˆ์— ์กด์žฌํ•˜๋Š”์ง€ ์—ฌ๋ถ€๋ฅผ ์ฒดํฌํ•  ์ˆ˜ ์žˆ๋‹ค. 

dict = {1: 'a', 2: 'b', 3: 'c'}

print(1 in dict)  # True
print(4 in dict)  # False

 

์ถœ์ฒ˜ | https://wikidocs.net/16#_2