๋์ ๋๋ฆฌ(dictionary)
๋์ ๋๋ฆฌ๋ ํค(key)์ ๊ฐ(value)๋ก ์ด๋ค์ด์ง๋๋ค.
ํค(key)์ ๊ฐ(value)์ ์์ ์ด๋ฃจ๋ฉด์ ๋ฐ์ดํฐ๋ฅผ ์ ์ฅํฉ๋๋ค.
์ผ๋ฐ์ ์ธ ๋ฐฉ๋ฒ์ผ๋ก ๋์ ๋๋ฆฌ๋ฅผ ์ ์ธํ๋ฉด์ ์ด๊ธฐํํ๋ ๋ฐฉ๋ฒ์ ๋๋ค.
>>> dict = {'a' : 1 , 'b' : 'good'}
>>> dict
{'a': 1, 'b': 'good'}
๋๋ ์ ์ธ์ ํ ๋ค ๊ฐ์ ์ถ๊ฐํ ์ ์์ต๋๋ค.
>>> dict = {}
>>> dict
{}
>>> dict['a'] = 123
>>> dict
{'a': 123}
list์ ๋ค๋ฅด๊ฒ append() ํจ์๋ฅผ ์ฌ์ฉํ์ง์์ ํธ๋ฆฌํฉ๋๋ค.
๋ํ ๋ฆฌ์คํธ์ ๋ค๋ฅด๊ฒ ์ธ๋ฑ์ค๋ก ์ ๊ทผํ ์ ์๊ณ ํค๋ก ์ ๊ทผํด์ผํฉ๋๋ค.
>>> dict
{'a': 'apple', 'b': 'banana', 'c': 'melon'}
>>> dict['0']
Traceback (most recent call last):
File "<pyshell#47>", line 1, in <module>
dict['0']
KeyError: '0'
>>> dict['a']
'apple'
๊ฐ์ ์์ ํ๋๊ฒ์ ํค ๊ฐ์ ์ด์ฉํ๋ฉด๋ฉ๋๋ค.
>>> dict['a']
'apple'
>>> dict['a'] = 'orange'
>>> dict
{'a': 'orange', 'b': 'banana', 'c': 'melon'}
๋์ ๋๋ฆฌ์์ ์์๋ฅผ ์ญ์ ํ๋ ค๋ฉด list์ ๊ฐ์ด delํจ์๋ฅผ ์ฌ์ฉํฉ๋๋ค.
>>> dict
{'a': 'orange', 'b': 'banana', 'c': 'melon'}
>>> del dict['c']
>>> dict
{'a': 'orange', 'b': 'banana'}
๋์ ๋๋ฆฌ์ for๋ฌธ
for๋ฌธ์ ํตํด key๊ฐ๊ณผ value๊ฐ์ ๋์ดํ ์ ์์ต๋๋ค.
๊ธฐ๋ณธ์ ์ผ๋ก for๋ฌธ์ ๋์ ๋๋ฆฌ๋ฅผ ๋ฃ์ผ๋ฉด ํค(key)๊ฐ ๋์ด๋ฉ๋๋ค.
>>> dict
{'a': 'orange', 'b': 'banana', 'c': 'melon'}
>>> for i in dict:
print(i)
a
b
c
๊ฐ(value) ์ ๋์ดํ๋ ค๋ฉด values()ํจ์๋ฅผ ์ฌ์ฉํฉ๋๋ค.
>>> dict
{'a': 'orange', 'b': 'banana', 'c': 'melon'}
>>> for i in dict.values():
print(i)
orange
banana
melon
>>>
ํค(key)์ ๊ฐ(value)๋ฅผ ๋์์ ๋์ดํ๋ ค๋ฉด items()ํจ์๋ฅผ ์ฌ์ฉํฉ๋๋ค.
ํค(key)์ ๊ฐ(value)๋ฅผ ๋์์ ๊ฐ์ ธ์ค๊ธฐ ๋๋ฌธ์ for๋ฌธ์ ๋ณ์ 2๊ฐ๋ฅผ ๋์ ํด์ผํฉ๋๋ค.
>>> dict
{'a': 'orange', 'b': 'banana', 'c': 'melon'}
>>> for key, val in dict.items():
print("{} : {},".format(key,val))
a : orange,
b : banana,
c : melon,
๊น์ ๋ณต์ฌ
๋์ ๋๋ฆฌ๋ ๋ฑํธ(=)์ ๊ฐ์ด ์ฌ์ฉํ๋ฉด ์์ ๋ณต์ฌ๊ฐ ๋ฉ๋๋ค.
>>> dict1
{'a': 'orange', 'b': 'banana'}
>>> dict2 = dict1
>>> dict2
{'a': 'orange', 'b': 'banana'}
>>> del dict2['a']
>>> dict2
{'b': 'banana'}
>>> dict1
{'b': 'banana'}
๊น์ ๋ณต์ฌ๋ฅผ ํ๋ ค๋ฉด copy ๋ชจ๋์ deepcopy() ํจ์๋ฅผ ์ฌ์ฉํด์ผํฉ๋๋ค.
>>> import copy
>>> dict1
{'b': 'banana', 'a': 'orange'}
>>> dict2 = copy.deepcopy(dict1)
>>> dict2
{'b': 'banana', 'a': 'orange'}
>>> del dict2['b']
>>> dict2
{'a': 'orange'}
>>> dict1
{'b': 'banana', 'a': 'orange'}
'Developer > ๐ฆ python' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
ํ์ด์ฌ(python) - ๋์ ๋๋ฆฌ(dictionary) ๋ฌธ๋ฒ ํ์ฉ (1) (1) | 2020.06.18 |
---|---|
ํ์ด์ฌ(python) - ๊ธฐ๋ณธ ๋ฌธ๋ฒ ์ ๋ฆฌ (2) (1) | 2020.06.18 |
ํ์ด์ฌ(python) - IDLE ๋ค์ฌ์ฐ๊ธฐ ๋จ์ถํค (0) | 2020.06.14 |
ํ์ด์ฌ(python) - ๊ธฐ๋ณธ ๋ฌธ๋ฒ ์ ๋ฆฌ (1) (0) | 2020.06.14 |
ํ์ด์ฌ(python) - ๋ฌธ์์ด ํฌ๋งทํ ๋ฐฉ๋ฒ (%s, format) (0) | 2020.06.11 |