μ½λ© ν μ€νΈ λ¬Έμ λ₯Ό νλ©΄μ λ΄κ° λμ λ리μ λν μμΈν μ΄ν΄κ° λΆμ‘±ν κ±Έ μκ² λλ€. κ·Έλμ μ΄λ² κΈ°νμ νμ€ν μ 리 ν΄λ³΄κ³ μ νλ€.
- λμ λ리λ key-value μμΌλ‘ μ΄λ£¨μ΄μ Έμλ ꡬ쑰μ΄λ€.
- λν λμ λ리λ ν΄μ(Hash) μλ£κ΅¬μ‘°λ‘ μ΄λ£¨μ΄μ Έ μλ€.
- νλ€κ² hashꡬνμ νμ§ μμλ λλ€.
# λΉ λμ
λ리 μμ±
seulgi = {}
seulgi = dict()
# νΉμ key valueκ°μ κ°μ§ λμ
λ리 μμ±
seulgi = {
'name': 'Kang-seul-gi'
'korean-age' : 28
'group' : 'Red-Velvet'
}
# λμ
λ리λ₯Ό valueλ₯Ό κ°μ§λ λμ
λ리 μμ±
redvelvet = {
'Irene' : {
'name' : 'Bae-Ju-Hyeon',
'age' : 31
},
'Seulgi' : {
'name' : 'Kang-Seul-Gi',
'age' : 28
}
}
redvelvet = {
'Irene' : {
'name' : 'Bae-Ju-Hyeon',
'korean_age' : 31
},
'Seulgi' : {
'name' : 'Kang-Seul-Gi',
'korean_age' : 28
}
'Seulgi' : {
'name' : bear',
'age' : 27
}
}
print(redvelvet)
redvelvet = {
'Irene' : {
'name' : 'Bae-Ju-Hyeon',
'korean_age' : 31
},
'Seulgi' : {
'name' : bear',
'age' : 27
}
}
seulgiλ₯Ό ν€λ‘ κ°λ μμκ° 2κ° μμΌλ©΄ λ€μ μλ μμλ§ μ μ₯λλ€.
ν€λ μ€λ³΅λμ§ μλλ€.
exo = dict(zip(['D.O', 'KAI', 'SEHUN'],[29, 28, 28]))
print(exo)
{'D.O': 29, 'KAI': 28, 'SEHUN': 28}
exo = dict(zip(['D.O', 'KAI'],[29, 28, 27]))
print(exo)
{'D.O': 29, 'KAI': 28}
exo = {'D.O': 29, 'KAI': 28, 'SEHUN': 28}
>>> exo['D.O']
29
>>> exo['D.O'] = 28
print(exo)
exo = {'D.O': 28, 'KAI': 28, 'SEHUN': 28}
setdefault
: ν€-κ° μ μΆκ°update
: ν€μ κ° μμ , ν€κ° μμΌλ©΄ ν€-κ° μ μΆκ°setdefault
exo = {'D.O': 29, 'KAI': 28, 'SEHUN': 28}
exo.setdefault('SUHO')
>>> exo
{'D.O': 29, 'KAI': 28, 'SEHUN': 28, 'SUHO' : None}
setdefault
λ ν€κ°μ μΆκ°νκ³ valueκ°μλ μλμΌλ‘ Noneμ΄ λ€μ΄κ°λ€.
κΈ°λ³Έκ°μ μ§μ νλ©΄ κΈ°λ³Έκ°μ μ μ₯νλ€ ν΄λΉκ°μ λ°ννλ€.
exo = {'D.O': 29, 'KAI': 28, 'SEHUN': 28, 'SUHO' : None}
exo.setdefault('XIUMIN', 32)
>>>32
print(exo)
{'D.O': 29, 'KAI': 28, 'SEHUN': 28, 'SUHO' : None, 'XIUMIN': 32}
μ΄λ―Έ μλ ν€κ°μ κ°μ λ³κ²½νλ €κ³ ν΄λ λ³κ²½ λμ§ μλλ€.
exo = {'D.O': 29, 'KAI': 28, 'SEHUN': 28, 'SUHO' : None, 'XIUMIN': 32}
exo.setdefault('SUHO', 31)
print(exo)
exo = {'D.O': 29, 'KAI': 28, 'SEHUN': 28, 'SUHO' : None, 'XIUMIN': 32}
# SUHOμ κ°μ΄ λ³κ²½λμ§ μμλ€.
update
exo = exo = {'D.O': 29, 'KAI': 28, 'SEHUN': 28, 'SUHO' : None, 'XIUMIN': 32}
exo.update(SUHO=31)
print(exo)
{'D.O': 29, 'KAI': 28, 'SEHUN': 28, 'SUHO': 31, 'XIUMIN': 32}
updateλ κ°μ μμ ν μ μκ³ ν΄λΉνλ ν€κ°μ΄ μμΌλ©΄ μΆκ°ν μλ μλ€.
get λ©μλλ get(key,x) λ‘ μ¬μ©ν μ μλ€. μ΄λ μ§μ ν keyμ valueλ₯Ό 리ν΄νκ³ 'λμ λ리μ keyκ° μλ κ²½μ°, xλ₯Ό 리ν΄ν΄μ€λΌ' λ λ»μ΄λ€.
exo = {'D.O': 29, 'KAI': 28, 'SEHUN': 28}
>>> exo.get('D.O','#')
29
>>>exo.get('sdk', '#')
#
exo = {'D.O': 29, 'KAI': 28, 'SEHUN': 28}
>>> del exo['D.O']
>>> exo
{'KAI': 28, 'SEHUN': 28}
exo = {'D.O': 29, 'KAI': 28, 'SEHUN': 28}
>>> exo.pop('D.O','#')
print(exo)
{'KAI': 28, 'SEHUN': 28}
popν λ°μ΄ν°λ 리ν΄κ°μ΄ μμΌλ―λ‘ λ³μμ λ΄μ μ μλ€.
a = exo.pop('D.O','#')
print(a)
29
'SEHUN' in exo
>>> True
'SDK' in exo
>>> False
exo = {'D.O': 29, 'KAI': 28, 'SEHUN': 28}
len(exo)
>>> 3
from collections import defaultdict
exo = defaultdict(int)
>>> exo['D.O']
0
print(exo)
defaultdict(<class 'int'>, {'D.O': 0})
defaultdictλ₯Ό μ¬μ©νμ¬ λμ
λ리λ₯Ό μΉμ±νλ©΄ μλ ν€κ°μ μ κ·Όν΄λ λν΄νΈ κ°μ valueλ‘ ν΄μ μμ±νλ€.
defaultdictμ λν΄νΈ κ°μ λ€μν κ²μ μ§μ ν μ μλ€. (list,set,int,string)