1. Dictionary2. λμ
λ리μ method2.1 keys( )2.2 values( )2.3 items( )2.4 get( )2.5 fromkeys( )2.6 update( )3. λμ
λ리 μν
1. Dictionary
- λμ λ리λ μμκ° μλ μλ£νμ λλ€.
- μ¬μ νμ Keyμ Value κ° νλμ λ¬ΆμμΌλ‘ μ΄λ£¨μ΄μ§ μλ£ μ²΄κ³μ λλ€.
- κ°μ λ³κ²½μ΄ κ°λ₯ν©λλ€.
- λ€λ₯Έ μλ£νμ μ λ ₯ν μ μμ΅λλ€.
- ν€μ μ€λ³΅μ νλ½νμ§ μκ³ , κ°μ μ€λ³΅μ νλ½ν©λλ€.
λ€λ₯Έ νλ‘κ·Έλλ° μΈμ΄μμλ Hash, Map λ± λ€λ₯Έ μ©μ΄λ‘ λΆλ¦¬κΈ°λ ν©λλ€.
{ key : value }
μμ ννκ° κΈ°λ³Έ ννμ
λλ€. μ¬λ¬κ°μ§μ ν€μ κ°μΌλ‘ ꡬμ±λλ κ²½μ°μ ννλ μλμ κ°μ΅λλ€.
test = { 'key1': 'value1', 'key2': 'value2', 'key3': 'value3' }
μ
λ ₯λ κ°μ μλμ κ°μ΄ νΈμΆν μ μμ΅λλ€.
μ
λ ₯
d = {'one' : 'νλ', 'two' : 'λ', 'three' : 'μ '} d d['one']
μΆλ ₯
'νλ'
keyκ°μΌλ‘ valueλ₯Ό νΈμΆν μ μμ§λ§, valueλ‘ keyκ°μ νΈμΆν μ μμ΅λλ€.
μλ μΆλ ₯ κ²°κ³Όλ₯Ό νμΈν΄λ³΄λ©΄ κ°μ λ³κ²½ν μ μλ€λ κ²μ μ μ μμ΅λλ€.
μ
λ ₯
d = {'one' : 'νλ', 'two' : 'λ', 'three' : 'μ '} d['one'] = 1 d
μΆλ ₯
{'one' : 1, 'two' : 'λ', 'three' : 'μ '}
μμ λ₯Ό νλ λ 보λλ‘ νκ² μ΅λλ€. μ΄λ²μλ μΌλΆλ¬ ν€λ₯Ό μ€λ³΅νμ¬ μ½μ
ν΄ λ³΄μμ΅λλ€.
μ
λ ₯
d = {'one' : 'νλ', 'one' : 'νλ2', 'one' : 'νλ3', 'two' : 'λ', 'three' : 'μ '} d d = {'one' : 'νλ', 'one1' : 'νλ1', 'one2' : 'νλ2', 'two' : 'λ', 'three' : 'μ '} d
μΆλ ₯
{'one' : 'νλ3', 'two' : 'λ', 'three' : 'μ '} {'one' : 'νλ', 'one1' : 'νλ1', 'one2' : 'νλ2', 'two' : 'λ', 'three' : 'μ '}
λ§μ§λ§μ λ€μ΄κ° keyκ°μ valueκ° μΆλ ₯λ©λλ€. ν€μ μ€λ³΅μ λΆκ°λ₯ νμ§λ§ valueμ μ€λ³΅μ΄ κ°λ₯νλ€λ κ²μ μ μ μμ΅λλ€.
μ΄λ²μλ λμ
λ리λ₯Ό λ§λλ λ€μν λ°©λ²μ λν΄ μμ보λλ‘ νκ² μ΅λλ€.
μ
λ ₯
d = {} type(d) d = {10} type(d) d = dict() d
μΆλ ₯
dict set #ν€μ valueλ‘ λ§€ννμ§ μμμ setμ΄λΌλ μ§ν©μ΄ μΆλ ₯λμμ΅λλ€. {}
μ
λ ₯
dict('leehojun') dict(['one' , 'νλ'), ('two', 'λ')]) #λκ΄νΈλ₯Ό μ΄μ©νμ¬ ν€μ valueλ₯Ό ꡬλ³ν΄μΌ ν©λλ€. dict(name = 'leehojun',age = 10)
μΆλ ₯
ERROR #ν€μ valueλ₯Ό ꡬλ³ν μ μμ΄μ ERRORκ° λ°μνμ΅λλ€. {'one' : 'νλ', 'two' : 'λ'} {'name' : 'leehojun' , 'age' = 10}
μ΄λ²μλ zipμ μ¬μ©ν΄μ mappingμ ν λ€μ dictλ‘ λ§λλ λ°©λ²μ λν΄ μμ보λλ‘ νκ² μ΅λλ€.
μ
λ ₯
list(zip('ABC', '123', 'abc')) dict(zip('ABC', '123')) #νλ³ν
μΆλ ₯
[('A', '1', 'a'), ('B', '2', 'b'), ('C', '3', 'c') {'A' : '1', 'B' : '2', 'C' : '3'}
in μ°μ°μλ₯Ό μ¬μ©νμ¬ keyμ ν¬ν¨ μ¬λΆλ₯Ό μ μ μμ΅λλ€.
μ
λ ₯
d = {'one' : 'νλ', 'two' : 'λ', 'three' : 'μ '} 'νλ' in d 'one' in d
μΆλ ₯
False True
key κ°μμλ§ ν¬ν¨ μ¬λΆλ₯Ό νμΈνκΈ° λλ¬Έμ 'νλ'μ κ°μ΄ dμ μμ΄λ Falseκ° μΆλ ₯λμμ΅λλ€.
λ€μ μμ μ²λΌ valueμ 리μ€νΈλ₯Ό λ£μ μλ μμ΅λλ€.
menu = { coffee : ['americano', 'cafe latte', 'mocah latte'], tea: ['green tea', 'black tea'], fruits: ['orange juice', 'pineapple juice'] }
μ¬μ νμ κ°μ μΆκ°ν λλ ν€κ°μ
[ ]
μμ λ£κ³ , κ°μ ν λΉν΄μ€λλ€.μ
λ ₯
my_score = { 'korean': 90, 'english': 80, 'math': 100 } my_score['science'] = 95 print(my_score)
μΆλ ₯
{'korean': 90, 'english': 80, 'math': 100, 'science': 95}
μ¬μ νμ μμλ₯Ό μμ νκ³ μΆμ λλ
del
ν€λ₯Ό μ¬μ©ν©λλ€.μ
λ ₯
my_score = { 'korean': 90, 'english': 80, 'math': 100 } del my_score['english'] print(my_score)
μΆλ ₯
{'korean': 90, 'math': 100}
μ¬μ νμ μμμ κΈΈμ΄λ₯Ό μκ³ μΆμ λλ
len
λ₯Ό μ¬μ©ν©λλ€.μ
λ ₯
l = [20, 30] len(l) len(d)
μΆλ ₯
2 2
lenμ 리μ€νΈμμλ μ¬μ©κ°λ₯νκ³ , λμ
λ리μμλ μ¬μ©κ°λ₯ν©λλ€.
μ¬μ νμ
Key
μ Value
κ° λ§€μΉλμ΄ μκΈ° λλ¬Έμ μ΄λ€ κ°μ μ°Ύμμ€λλ°μ κ΅μ₯ν νΈλ¦¬ν©λλ€.μ
λ ₯
# κ΅μ΄ μ±μ μ μκ³ μΆμ κ²½μ° my_score = { 'korean': 90, 'english': 80, 'math': 100 } print(my_score['korean']) # get ν¨μλ₯Ό μ΄μ©νμ¬ κ°μ Έμ¬ μλ μμ΅λλ€. print(my_score.get('korean')) # λ€λ§ ν΄λΉνλ ν€κ° μμ λ # ν€κ°λ§μ μ΄μ©νμ¬ κ°μ Έμ€λ κ²½μ°μλ μ€λ₯κ° λ°μνλ©° getμ μ¬μ©ν λμλ Noneμ 리ν΄ν©λλ€. # μ€λ₯μ λν μμΈμ²λ¦¬κ° μλ μμ ν getμ μ¬μ©νλ κ²μ΄ λ°λμ§ν΄ 보μ λλ€.
μΆλ ₯
90 90
λ€λ§ μ¬μ νμμμ
Key
κ°μ κ³ μ ν κ°μ΄κΈ° λλ¬Έμ λμΌν μ΄λ¦μΌλ‘ μ¬μ©ν μ μμ΅λλ€.μ
λ ₯
my_score = { 'korean': 90, 'english': 80, 'math': 100, 'math': 90 } print(my_score)
μΆλ ₯
{'korean': 90, 'english': 80, 'math': 90}
μΌλ°μ μΌλ‘ μκ°ν΄λ
Key
κ°μ κΈ°μ€μΌλ‘ κ°μ μ°ΎμμΌ νκΈ° λλ¬Έμ κ³ μ ν μ λ°μ μμ΅λλ€.Key
κ°μΌλ‘ 리μ€νΈλ₯Ό μ¬μ©ν μ μμ§λ§, ννμ ν€κ°μΌλ‘ μ¬μ©ν μ μμ΅λλ€. Key
κ° κ³ μ νλ€λ μ μ μκ°ν΄λ³΄λ©΄ λ³ν μ μλ 리μ€νΈλ μ¬μ©ν΄μλ μλκ² μ§μ.μ
λ ₯
map_check = { (1, 3): 10293, (1, 2): 39492, (1, 1): 49377, (1, 4): 12375 } print(map_check)
μΆλ ₯
{(1, 3): 10293, (1, 2): 39492, (1, 1): 49377, (1, 4): 12375}
μ
λ ₯
my_check = { [1, 3]: 10293, [1, 2]: 39492, [1, 1]: 49377, [1, 4]: 12375 } print(my_check)
μΆλ ₯
Traceback (most recent call last): File "/study.py", line 5, in <module> [1, 4]: 12375 TypeError: unhashable type: 'list'
2. λμ λ리μ method
2.1 keys( )
μ¬μ μλ£νμ μλ
Key
κ°λ€μ κ°μ Έμ€λ €λ©΄ keys
ν¨μλ₯Ό μ¬μ©ν©λλ€. μ΄λ λ°νλλ κ²μ dict_keys
κ°μ²΄μ
λλ€. μ΄ κ°μ²΄λ 리μ€νΈμ λΉμ·νκ² λ°λ³΅λ¬Έμ μ¬μ©ν μ μμ΅λλ€.μ
λ ₯
map_check = { (1, 3): 10293, (1, 2): 39492, (1, 1): 49377, (1, 4): 12375 } print(map_check.keys())
μΆλ ₯
dict_keys([(1, 3), (1, 2), (1, 1), (1, 4)])
2.2 values( )
μ¬μ μλ£νμ μλ
value
κ°λ€μ κ°μ Έμ€λ €λ©΄ values
ν¨μλ₯Ό μ¬μ©ν©λλ€. μ΄λ λ°νλλ κ²μ dict_values
κ°μ²΄μ
λλ€. μ΄ κ°μ²΄λ 리μ€νΈμ λΉμ·νκ² λ°λ³΅λ¬Έμ μ¬μ©ν μ μμ΅λλ€.μ
λ ₯
map_check = { (1, 3): 10293, (1, 2): 39492, (1, 1): 49377, (1, 4): 12375 } print(map_check.values())
μΆλ ₯
dict_values([10293, 39492, 49377, 12375])
2.3 items( )
μ¬μ μλ£νμ μλ
Key
μ Value
λ₯Ό 리μ€νΈμ ννλ‘ μ»κΈ° μν΄μλ items
ν¨μλ₯Ό μ¬μ©ν©λλ€. μ΄λ λ°νλλ κ²μ dict_items
κ°μ²΄μ
λλ€. μ΄ κ°μ²΄λ 리μ€νΈμ λΉμ·νκ² λ°λ³΅λ¬Έμ μ¬μ©ν μ μμ΅λλ€.μ
λ ₯
map_check = { (1, 3): 10293, (1, 2): 39492, (1, 1): 49377, (1, 4): 12375 } print(map_check.items())
μΆλ ₯
dict_items([((1, 3), 10293), ((1, 2), 39492), ((1, 1), 49377), ((1, 4), 12375)])
μλ£ μ¬μ ν μμ μνλ
Key
κ° μλμ§ μ°Ύμλ³Ό λμλ in
μ νμ©ν μ μμ΅λλ€.μ
λ ₯
my_score = { 'korean': 90, 'english': 80, 'math': 100 } print('math' in my_score) print('science' in my_score)
μΆλ ₯
True False
2.4 get( )
keyκ°μΌλ‘ valueκ°μ νΈμΆνκ³ μΆλ€λ©΄
get
μ μ¬μ©νμ¬ νΈμΆν©λλ€.μ
λ ₯
def switch(x): return{1 : 'Mon', 2 : 'Tue', 3 : 'Wed', 4 : 'Thu' }.get(x) print(switch(3))
μΆλ ₯
Wed
2.5 fromkeys( )
μνμ€ν μλ£λ₯Ό κ°μ§κ³ λμ
λ리λ₯Ό λ§λ€ λ
fromkeys
λ₯Ό μ¬μ©ν©λλ€.μ
λ ₯
dict.fromkeys('leehojun') dict.fromkeys('leehojun',100)
μΆλ ₯
{'i' : None, 'e' : None, 'h' : None, 'o' : None, 'j' : None, 'u' : None, 'n' : None} {'i' : 100, 'e' : 100, 'h' : 100, 'o' : 100, 'j' : 100, 'u' : 100, 'n' : 100}
μ
λ ₯
keys = ('name','age','grade') values = ('leehojun','10','μ') dict.fromkeys('leehojun',100) dict.fromkeys(keys, values)
μΆλ ₯
{'name' : ('leehojun','10','μ'), 'age' : ('leehojun','10','μ'), 'grade' : ('leehojun','10','μ')}
κ°μ΄ μνμ€μλ£νμΌλ‘ λ€μ΄κ°λ κ²μ΄ μλλΌ λκ°μ κ°μΌλ‘ λ€μ΄κ°λ€λ κ²μ μ£Όμν΄μ£ΌμΈμ.
2.6 update( )
κΈ°μ‘΄μ λ°μ΄ν°μ μΆκ°λ‘ λ°μ΄ν°λ₯Ό μΆκ°νκ³ μΆλ€λ©΄
update
ν¨μλ₯Ό μ¬μ©νμ¬ μΆκ°ν΄μ€λλ€.μ
λ ₯
d = {'one' : 'νλ', 'two' : 'λ', 'three' : 'μ '} d.update({'one' : 1, 'two' : 2}) d
μΆλ ₯
{'one' : '1', 'two' : '2', 'three' : 'μ '}
3. λμ λ리 μν
μ
λ ₯
d = {'two' : 2, 'three' : 'μ '} for i in d: print(i)
μΆλ ₯
two three
forλ¬Έμμ λμ
λ리λ₯Ό μννλ©΄ ν€μ κ°λ§ μΆλ ₯λ©λλ€.
μ
λ ₯
#ν€μ κ°κ³Ό vlaueμν for i in d: print(i, d[i])
μΆλ ₯
two 2 three μ
μ
λ ₯
for i , j in d.items(): print(i, j) d.items()
μΆλ ₯
two 2 three μ dict_items(['two', 2), ('three', 'μ ')])