π μ§ν© set()
setμ 리μ€νΈμ λΉμ·νκ² λ³Ό μ μλ€. νμ§λ§ μΈλ±μ€λ‘ μ κ·Όμ΄ λΆκ°λ₯νκ³ , μ λ ¬λ ν μ μλ€. for λ¬ΈμΌλ‘ νλνλ μΆλ ₯ν΄λ΄λ κ·Έλ κ·Έλ μμκ° λ€μ£½λ°μ£½μΌλ‘ λ€λ₯΄κ² λμ¨λ€.
set μ μ¬μ©νλ μ΄μ λ
- μ€λ³΅μ΄ μλ€
- νΉμ μμκ° μλ μ§ νμΈν λ O(1)μ μκ° λ³΅μ‘λλ₯Ό κ°μ§λ€. ( 리μ€νΈμ κ²½μ° O(N) ) ex) if μμ in μ :
- μ§ν© κ΄λ ¨
π΅ κ΅μ§ν©, ν©μ§ν©, μ°¨μ§ν©
κ΅μ§ν©: & or intersection
ν©μ§ν©: | or union
μ°¨μ§ν©: - or difference
set1 = {1, 2, 3, 4, 5}
set2 = {3, 4, 5, 6, 7}
# κ΅μ§ν©
print(set1.intersection(set2)) # {3, 4, 5}
print(set1 & set2) # {3, 4, 5}
# ν©μ§ν©
print(set1.union(set2)) # {1, 2, 3, 4, 5, 6, 7}
print(set1 | set2) # {1, 2, 3, 4, 5, 6, 7}
# μ°¨μ§ν©
print(set1.difference(set2)) # {1, 2}
print(set1 - set2) # {1, 2}
π’ μ μΈ set
setμ μ μΈν λλ 보ν΅
my_set = set()
# or
my_set = {"apple", "melon", "grape"}
print(my_set) # {'grape', 'melon', 'apple'}
πΊ μμμ μΆλ ₯ν κ²μ 보면 μμκ° λ€λ₯΄κ² λμ€λ κ²μ νμΈν μ μλ€.
π’ μΆκ° (μμ νκ° μΆκ°) add
my_set.add('orange')
print(my_set) # {'orange', 'grape', 'melon', 'apple'}
π’ μΆκ° (μμ μ¬λ¬κ° μΆκ°) update
my_set.update(["blueberry", "banana"])
print(my_set) # {'orange', 'apple', 'banana', 'grape', 'melon', 'blueberry'}
π’ μμ remove
my_set.remove("apple")
print(my_set) # {'blueberry', 'orange', 'grape', 'banana', 'melon'}
!!! νμ§λ§ μλ μμλ₯Ό μ§μ°λ €κ³ νλ©΄ KeyError λ°μ
my_set.remove("dog")
π’ μμ 2 discard
μλ μμλ₯Ό μ§μ°λ €κ³ ν΄λ μλ¬κ° λμ§ μλλ€.
my_set.discard("grape")
print(my_set) # {'blueberry', 'melon', 'banana', 'orange'}
my_set.discard("dog")
print(my_set) # {'blueberry', 'melon', 'banana', 'orange'}
πΊ removeλ μμκ° κΌ μμ΄μΌ νκ³ , discardλ μμ΄λ λλ€. (κ·ΈλΌ discardλ§ μ°λ©΄ λλκ±° μλκΉ? ππ μ λͺ¨λ₯΄κ² λ€)
π’ μμ μ λ½κΈ° pop
popμ μ¬μ€ 리μ€νΈμ κ°μ₯ λ§μ§λ§μ μλ μμλ₯Ό λ½μμ λ°ννλ ν¨μμ΄λ€. νμ§λ§ setμ μμκ° μκΈ° λλ¬Έμ μ΄λ€ κ°μ΄ λμ¬μ§ λͺ¨λ₯Έλ€. λκ°μ setμμ νμ μ€νν λλ§λ€ λ€λ₯Έ κ°μ΄ λμ¨λ€.
# 1μ°¨ μλ
print(my_set) # {'banana', 'blueberry', 'orange', 'melon'}
tmp = my_set.pop()
print(tmp) # banana
print(my_set) # {'blueberry', 'orange', 'melon'}
# 2μ°¨ μλ
print(my_set) # {'blueberry', 'orange', 'banana', 'melon'}
tmp = my_set.pop()
print(tmp) # blueberry
print(my_set) # {'orange', 'banana', 'melon'}
πΊ μμΈν 보면 κ°μ₯ μμ μμκ° λμ¨ κ±° κ°λ€. νμ§λ§!!! setμ μμκ° μμΌλ―λ‘ λͺ¨λ κ² λλ€μ΄λ€.
π’ λΉμ°κΈ° clear
set μμ λͺ¨λ μμλ₯Ό μ§μ°λ λ©μλ
my_set.clear()
print(my_set) # set()
π’ ν©μΉκΈ° union
λκ°μ setμ ν©μ³μ μλ‘μ΄ setμ μμ±
your_set = {"tomato", "cherry", "lemon"}
print(my_set) # {'melon', 'orange', 'blueberry'}
print(your_set) # {'tomato', 'cherry', 'lemon'}
our_set = my_set.union(your_set)
print(our_set) # {'tomato', 'melon', 'orange', 'blueberry', 'cherry', 'lemon'}
π’ ν©μΉκΈ°2 update
μκΉ μμμ λ΄€λ μ¬λ¬κ°μ μμλ₯Ό μ§μ΄λ£λ κΈ°λ₯κ³Ό κ°λ€
μ¬λ¬κ°μ μμ λμ νλμ 리μ€νΈλ μ μ μ§μ΄ λ£λλ€.
new_set = {"ddalgi"}
list1 = ['sagwa', 'podo']
new_set.update(list1)
print(new_set) # {'podo', 'ddalgi', 'sagwa'}
set1 = {"bae", "subak"}
new_set.update(set1)
print(new_set) # {'podo', 'ddalgi', 'sagwa', 'subak', 'bae'}
'Programming language > Python' μΉ΄ν κ³ λ¦¬μ λ€λ₯Έ κΈ
[python] 'input.txt'λ‘ input λ°κΈ° ( feat.sys ) (0) | 2020.09.07 |
---|---|
[python] F-String (0) | 2020.09.06 |
[python] filter (2) | 2020.08.31 |
[python] accumulate(itertools), λμ ν© (0) | 2020.08.30 |
[python] defaultdict (0) | 2020.08.29 |