
๋์ ๋๋ฆฌ(Dictionary)
ํ์ด์ฌ ๋์ ๋๋ฆฌ๋ Key, Value ํ์์ผ๋ก ์ด๋ฃจ์ด์ง ํด์ ์๊ณ ๋ฆฌ์ฆ ์ปจํ ์ด๋์ ๋๋ค. ๋ฆฌ์คํธ, ํํ๊ณผ๋ ๋ค๋ฅด๊ฒ ๋ฐ์ดํฐ์ ์์๋ ์ค์ํ์ง ์์ต๋๋ค. ํน์ Key๋ฅผ ํตํด Value๋ฅผ ๊ฐ์ ธ์ค๋ ์ฐ๊ด ์ปจํ ์ด๋๋ผ๋ ์ ์ ๋๋ค. ๋ฆฌ์คํธ, ํํ์ ์ํ์ค ์ปจํ ์ด๋๋ผ๊ณ ํ ์ ์์ต๋๋ค.
ํ์ด์ฌ ๋์ ๋๋ฆฌ๋ ํด์ํ ์ด๋ธ(Hash Table)๋ก ๊ตฌ์ฑ๋์ด ์๊ธฐ ๋๋ฌธ์ ๋ฐ์ดํฐ์ ๊ฒ์์ด ๋งค์ฐ ๋น ๋ฅธ ํธ์ ๋๋ค. ์ฌ๊ธฐ์ ์ค์ํ ํน์ง์ Key์ ๊ณ ์ ์ฑ์ ๋๋ค. Key๋ ์ค๋ณต์ ํ์ฉํ์ง ์์ต๋๋ค. ๋ฐ๋ผ์ Key์ ํํ์ ์ฌ์ฉ ๊ฐ๋ฅํ์ง๋ง(immutable), ๋ฆฌ์คํธ๋ ๋ถ๊ฐ๋ฅํฉ๋๋ค(mutable).
๊ธฐ๋ณธ
dic = {'name' : 'seoarang', 'phone':'1313414', 'birth': '0819'}
dic['name'] # 'seorang' -> value ๋ฐํ
dic['sex'] = 'male' # ์์ ์ถ๊ฐ
del dic['phone'] # ์์ ์ญ์
ํจ์
- Key๋ง ๋ฝ์๋ด๊ธฐ(keys)
>>>> a = {'name' : 'seoarang', 'phone':'1313414', 'birth': '0819'}
>>>> a.keys()
dict_keys(['name', 'phone', 'birth'] # dict_keys ๊ฐ์ฒด ๋ฐํ
>>>> list(a.keys())
['name', 'phone', 'birth'] # ๋ฆฌ์คํธ๋ก ๋ณํ
>>>> for k in a.keys():
print(k)
2. Value ๋ฆฌ์คํธ ๋ง๋ค๊ธฐ(values)
>>>> a = {'name' : 'seoarang', 'phone':'1313414', 'birth': '0819'}
>>>> a.values()
dict_values(['seoarang', '1313414', '0819'] # dict_values ๊ฐ์ฒด ๋ฐํ
3. Key, Value ์ ์ป๊ธฐ(items)
>>>> a = {'name' : 'seoarang', 'phone':'1313414', 'birth': '0819'}
>>>> a.items()
dict_items([('name', 'seoarang'), ('phone', '1313414'), ('birth', '0819')]) # dict_items ๊ฐ์ฒด ๋ฐํ
>>>> for key, val in a.items():
print(f"key : {key}, value : {value}")
4. Key๋ก Value ์ป๊ธฐ(get)
>>>> a = {'name' : 'seoarang', 'phone':'1313414', 'birth': '0819'}
>>>> a.get('name')
'seoarang'
>>>> a.get('age')
None
>>>> a['age']
KeyError: 'nokey' # ์๋ ํค๋ฅผ ์กฐํํ ๋ get๋ฐฉ์์ None์ ๋ฐํ, a['sex']๋ Key ์ค๋ฅ ๋ฐ์!
5. ๋์ ๋๋ฆฌ ๋น์ฐ๊ธฐ(clear)
>>>> a = {'name' : 'seoarang', 'phone':'1313414', 'birth': '0819'}
>>>> a.clear()
>>>> a
{}
6. Key ์ฒดํฌ ํ๊ธฐ(in)
>>>> a = {'name' : 'seoarang', 'phone':'1313414', 'birth': '0819'}
>>>> 'name' in a
True
>>>> 'age'
False
7. ๋์ ๋๋ฆฌ ๋ณต์ฌ(dict, copy)
>>>> a = {'name' : 'seoarang', 'phone':'1313414', 'birth': '0819'}
>>>> b = a
>>>> a['name'] = 'david'
>>>> b
{'name' : 'david', 'phone':'1313414', 'birth': '0819'} # dict1 = dict2์ ๊ฒฝ์ฐ ๋ ๋ณ์์ ๋ฉ๋ชจ๋ฆฌ ์ฃผ์๊ฐ ๋์ผํจ
>>>> a = {'name' : 'seoarang', 'phone':'1313414', 'birth': '0819'}
>>>> c = dict(a)
>>>> a['name'] = 'david'
{'name' : 'seoarang', 'phone':'1313414', 'birth': '0819'} # dict(a)์ ๊ฒฝ์ฐ a๊ฐ ๋ณต์ฌ๋๊ธฐ ๋๋ฌธ์ ์๋ก ๋ค๋ฅธ ๋ฉ๋ชจ๋ฆฌ ์ฃผ์
>>>> a = {'name' : 'seoarang', 'phone':'1313414', 'birth': '0819'}
>>>> d = a.copy()
>>>> a['name'] = 'david'
{'name' : 'seoarang', 'phone':'1313414', 'birth': '0819'} # a.copy()์ ๊ฒฝ์ฐ a๊ฐ ๋ณต์ฌ๋๊ธฐ ๋๋ฌธ์ ์๋ก ๋ค๋ฅธ ๋ฉ๋ชจ๋ฆฌ ์ฃผ์
8. ์ต๋๊ฐ, ์ต์๊ฐ, ํฉ(max, min, sum)
# Key๊ฐ ๊ธฐ์ค์ผ๋ก ์ต๋๊ฐ, ์ต์๊ฐ, ํฉ ๋ฐํ
>>>> a = {1 :'a', 2 : 'b', 3 : 'c'}
>>>> max(a)
3
>>> min(a)
1
>>>> sum(a)
6
>>>> a = {'a' : 1, 'b' : 2, 'c' : 3}
>>>> max(a)
'c'
>>> min(a)
'a'
>>>> sum(a)
TypeError : unsupported operand type(s) for +: 'int' and 'str'
์ฐธ๊ณ : ์ ํ ํฌ ํ์ด์ฌ
'ํ๋ก๊ทธ๋๋ฐ ์ธ์ด > Python' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
| ํ์ด์ฌ ๋ชจ๋๊ณผ ํจํค์ง์ ๋ชจ๋ ๊ฒ (1) | 2023.12.09 |
|---|---|
| ํ์ด์ฌ ์ ์ถ๋ ฅ(ํ์ค, ํ์ผ ๋ฑ)์ ๋ชจ๋ ๊ฒ (2) | 2023.12.05 |
| ํ์ด์ฌ ํํ์ ๋ชจ๋ ๊ฒ (1) | 2023.12.03 |
| ํ์ด์ฌ ๋ฆฌ์คํธ(list)์ ๋ชจ๋ ๊ฒ (1) | 2023.12.02 |
| ํ์ด์ฌ ๋ฌธ์์ด(string)์ ๋ชจ๋ ๊ฒ (1) | 2023.12.01 |
๋๊ธ