μ§ν© μλ£νμ μ λ§ λ§κ·Έλλ‘ μνμμ λ°°μ°λ μ§ν© κ·Έ μ체μ΄λ€.
μνμμλ μ§ν©μ {}λ‘ νμνμ§λ§, νμ΄μ¬μμλ μνκΉμ΄ μ΄μ λ‘ {}λ₯Ό μ¬μ©νκΈ΄ νλλ° κ·Έλ₯ μ¬μ©ν μλ μλ€. μλλ©΄ μ¬μ (Dictionary) μλ£νλ {}λ₯Ό μ¬μ©νκΈ° λλ¬Έμ΄λ€.
곡μ§ν©μ μμ±ν λλ λ°λμ set()μΌλ‘ μμ±ν΄μΌ νλ€. {}λ‘ μμ±νλ©΄ λΉ μ¬μ μ΄ μμ±λλ€.
μ§ν©μ μ°μ°μμΈ κ΅μ§ν©, ν©μ§ν©, μ°¨μ§ν©μ λͺ¨λ μ§μνλ€.
μ§ν©μ νΉμ§μ΄ 2κ°μ§ μλλ°, μ΄ νΉμ§μ΄ 리μ€νΈμμ μ°¨μ΄μ μ΄λΌ μ¬μ©νλ€. 첫λ²μ§Έ νΉμ§μ΄ μ§ν© μλ£νμ μ¬μ©νλ μ£Όλ μ΄μ μ΄λ€.
1) μ§ν©μ μμμ μ€λ³΅μ νμ©νμ§ μλλ€. μ¦, μμμ μ’ λ₯λ₯Ό λνλ΄κΈ° μ’λ€.
2) μ§ν©μ μμμ μμκ° μ‘΄μ¬νμ§ μλλ€. μ¦, μμμ indexκ° μλ€.
s = {1, 2, 3}
s[1] # TypeError: 'set' object is not subscriptable (indexing X)
s1 = {1, 2, 3, 4, 5}
s2 = {3, 4, 5, 6, 7}
# κ΅μ§ν©
s1 & s2
s1.intersection(s2)
# ν©μ§ν©
s1 | s2
s1.union(s2)
# μ°¨μ§ν©
s1 - s2
L = [1, 2, 2, 3, 1, 4, 5, 6, 1, 2, 4, 6]
L2 = [22, 33, 11, 21, 1, 22, 33, 12, 33, 24]
# λ 리μ€νΈμ κ΅μ§ν©μ μ°Ύκ³ μΆμΌλ©΄ μ§ν©μΌλ‘ μ°μ°ν μ μλ€.
set(L) & set(L2)
# μ§ν©μ μμ νλ μΆκ°νκΈ° add()
s = set()
s.add(1)
# μ§ν©μ μ¬λ¬ μμ μΆκ°νκΈ° update()
s = {1, 2, 3}
s.update([3, 4, 5]) # 리μ€νΈ, ννμ΄ λ€μ΄μλ μ°μ° κ°λ₯!
# μ§ν©μμ μμ μ κ±°νκΈ° remove()
s.remove(3)
name | code |
---|---|
"John" | 0011 |
"Maria" | 1234 |
key-value λ°©μμΌλ‘ μ μ₯μ νλ κ²μΌλ‘ μ»λ μ΄μ μ?
μμκ° μλ μλ―Έκ° μλ κ°μ ν΅ν΄μ λ°μ΄ν° μ κ·Όμ΄ κ°λ₯νλ€.
κ°μ λ§λ‘ Hash Tableμ΄λΌκ³ λΆλ¦¬λ©° λ°μ΄ν° κ΄λ¦¬μμ κ΅μ₯ν μ€μν κ°λ μ΄λ€.
νμ΄μ¬μμ μ¬μ μλ£νμ {}μ μ΄μ©νμ¬ νννλλ°, μ§ν©κ³Όμ μ°¨μ΄μ μ λκΈ° μν΄ μμμ λ°λμ :κ° λ€μ΄κ°μΌ νλ€.
μ¬μ μ ννν λλ {key : value, key2 : value2, ... } ννλ‘ νννλ€.
D = {"John" : '0011', "Maria" : '1234'}
# μ¬μ μ μμλ₯Ό μΆκ°νλ λ°©λ²
D['Kim'] = '3453'
TIP μ¬μ μ λ§λ€ λ keyλ μ€λ³΅μ΄ μμΌλ©΄ μ λ μλλ€.
μ¬μ μμ keyκ° λ μ μλ data typeμ immutableμ΄μ΄μΌ νλ€.
immutable : tuple, int, float, str
D = {'name': 'kim', 'phone': '01012345679', 'birth': '1234'}
# μ¬μ μ λͺ¨λ keyκ°λ€ 보기 keys()
D.keys()
# μ¬μ μ λͺ¨λ valueλ€ λ³΄κΈ° values()
D.values()
# μ¬μ μ λͺ¨λ key, value μ 보기 items()
D.items()
# μ¬μ μ μμ μ κ±°νκΈ° pop()
D.pop('name') # pop μμλ **key**κ°λ§ λ€μ΄κ° μ μλ€.
inμ΄λΌλ operatorλ λͺ¨λ μ°μν λ°μ΄ν° νμ μ μ¬μ©ν μ μλ€.
μ¬μ μ κ²½μ°μλ keyκ°μ λμμΌλ‘ νκ³ , 리μ€νΈ, νν, μ§ν©, λ¬Έμμ΄μ λν΄μλ ν΄λΉ μμκ° μ‘΄μ¬νλμ§ μ°Ύμμ True / False λ₯Ό μλ €μ€λ€.
D = {'name': 'kim', 'phone': '01012345679', 'birth': '1234'}
"phone" in D
"Lee" in D # False ## inμ΄λΌλ μ°μ°μ μ¬μ μμλ keyμ μ μ©λλ€.
# 리μ€νΈ, νν, μ§ν©μμλ μ μ©λλ€.
L = [1, 2, 3]
t = (4, 5, 6)
s = {7, 8, 9}
st = "Hello World"
2 in L
4 in t
7 in s
"H" in st