0. ๋์ ๋๋ฆฌ Dictionary ๋ ?
๋์ ๊ด๊ณ๋ฅผ ๋ํ๋ผ ์ ์๋ ์๋ฃํ( ์ฐ๊ด ๋ฐฐ์ด Asssociative array ๋๋ ํด์ Hash ๋ผ๊ณ ํจ )
Key์ Value๋ฅผ ํ ์์ผ๋ก ๊ฐ๋ ์๋ฃํ.
Value์๋ ์๋ฌด ๊ฐ์ด๋ ๋ค ๋ฃ์ ์ ์์ง๋ง Key๊ฐ์ ๋ณํ์ง ์๋ ๊ฐ์ด๊ธฐ ๋๋ฌธ์ ๋ฆฌ์คํธ๋ ์ฌ์ฉํ ์ ์๋ค
๋ฆฌ์คํธ๋ ํํ์ฒ๋ผ ์์ฐจ์ ์ผ๋ก ์์๊ฐ์ ๊ตฌํ๋ ๊ฒ์ด ์๋๋ผ Key๋ฅผ ํตํด Value๋ฅผ ์ป๋ ๋ฐฉ์
Key๋ ๊ณ ์ ํ ๊ฐ์ด๋ฏ๋ก ์ค๋ณต๋๋ Key๊ฐ์ด ์๋ค๋ฉด ํ๋๋ฅผ ์ ์ธํ ๋๋จธ์ง๋ ๋ชจ๋ ๋ฌด์๋๋ฏ๋ก ์ฃผ์ํด์ผ ํ๋ค
-> ๋์ผํ Key๊ฐ ์กด์ฌํ๋ฉด Key๊ฐ์ ํตํด Value๋ฅผ ์ป์ ๋ ์ด๋ค ๊ฐ์ ๋ถ๋ฌ์์ผ ํ ์ง ๋ชจํธํ๊ธฐ ๋๋ฌธ์ ์ค๋ณต์ด ๋ถ๊ฐ๋ฅ!
# ๋์
๋๋ฆฌ๋ช
= {ํค1:์์1, ํค2:์์2, ํค3:์์3, …}
# DictName = {'name':'Narin', 'age':'20', 'birth':'0101'}
a = {}
b = {1: 'hi'}
c = {'a': [1, 2, 3]}
d = {'abc': 2, 'def': 5, 'ghi': 1}
1. ๋์ ๋๋ฆฌ ์ถ๊ฐ, ์ญ์
๋ฆฌ์คํธ์ ๊ฐ์ ๋ฐฉ๋ฒ์ด์ง๋ง ์ธ๋ฑ์ค ๋์ key ๊ฐ์ ๋ฃ์ด ๋์ ๋๋ฆฌ ์์ ์ถ๊ฐ, ์ญ์ ํ๋ค
b[2] = 'my'
print(b) # {1: 'hi', 2: 'my'}
c['b'] = [4, 5, 6]
print(c) # {'a': [1, 2, 3], 'b': [4, 5, 6]}
d['jkl'] = 8
print(d) # {'abc': 2, 'def': 5, 'ghi': 1, 'jkl': 8}
del b[1]
print(b) # {2: 'my'}
del d['abc']
print(d) # {'def': 5, 'ghi': 1, 'jkl': 8}
2. ๋์ ๋๋ฆฌ์์ Key ๊ฐ์ ์ด์ฉํด Value ์ป๊ธฐ
๋ฆฌ์คํธ์ ํํ์ ์์๊ฐ์ ์ป์ ๋ ์ธ๋ฑ์ฑ์ด๋ ์ฌ๋ผ์ด์ฑ ๊ธฐ๋ฒ์ ์ฌ์ฉํ์ง๋ง ๋์ ๋๋ฆฌ๋ ํ ๊ฐ์ง ๋ฐฉ๋ฒ ๋ฟ์ด๋ค
print(b[2]) # my
print(c['a']) # [1, 2, 3]
print(d['def']) # 5
3. ๋์ ๋๋ฆฌ ๊ด๋ จ ํจ์
- keys() : key ๊ฐ์ ๋ชจ์ dict_keys ๊ฐ์ฒด๋ฅผ ๋๋ ค์ค๋ค
- values() : value ๊ฐ์ ๋ชจ์ dict_values ๊ฐ์ฒด๋ฅผ ๋๋ ค์ค๋ค
- items() : key, value ๊ฐ ์์ ํํ๋ก ๋ฌถ์ dict_items ๊ฐ์ฒด๋ฅผ ๋๋ ค์ค๋ค
dict_keys, dict_values, dict_items ๋ชจ๋ ๋ฆฌ์คํธ์ ๊ฐ์ด ๋ฐ๋ณต ๊ตฌ๋ฌธ ์คํ์ด ๊ฐ๋ฅํ๋ ๋ฆฌ์คํธ ๊ณ ์ ์ ํจ์๋ค์ ์ํ์ด ๋ถ๊ฐ๋ฅํ๋ค
DictName = {'name': 'Narin', 'age': '20', 'birth': '0101'}
print(list(DictName.keys())) # ['name', 'age', 'birth']
for i in DictName.keys(): # name
print(i) # age
# birth
print(list(DictName.values())) # ['Narin', '20', '0101']
for i in DictName.values(): # Narin
print(i) # 20
# 0101
print((list(DictName.items()))) # [('name', 'Narin'), ('age', '20'), ('birth', '0101')]
for i in DictName.items(): # ('name', 'Narin')
print(i) # ('age', '20')
# ('birth', '0101')