Set μ
μ μ ν€λ§ λ¨μ λμ λ리μ κ°λ€. λμ λ리μ λ§μ°¬κ°μ§λ‘ ν€λ μ μΌν΄μΌνλ€.
ν€λ₯Ό μ¬μ©ν λλ μ΄λ€ κ²μ μ‘΄μ¬μ¬λΆλ§ νλ¨νκΈ° μν΄ μ¬μ©λλ©° ν€μ μ΄λ€ μ 보λ₯Ό 첨λΆν΄μ κ·Έ κ²°κ³Όλ₯Ό μ»κ³ μΆμ λ μ¬μ©νλ€.
μ
μμ±νκΈ° : set()
, μ
μΌλ‘ νμ
λ³ννκΈ° : set()
>> empty_set = set()
>> empty_set
set()
λμ λ리μ νΉμ±κ³Ό λμΌνκ² μ μ μμκ° μλ€.
κΈ°μ‘΄μ μ‘΄μ¬νλ 리μ€νΈ, νν, λμ λλ¦¬λ‘ μ€λ³΅λ κ°μ λ²λ¦° μ μ μμ±ν μ μλ€.
>>> set('letters')
{'e', 'r', 'l', 's', 't'}
μ κ°μ λλμΌλ‘ μ¬μ©λλλ° μμμ λ§ ν μμκ° μλ€λ₯Ό 보μ¬μ£Όλ κ°μ₯ μ’μ μ μΈκ² κ°λ€.
-
리μ€νΈ
리μ€νΈλ‘ μ μ λ§λ€μ΄ 보μ>>> list_data = ['hong', 'song', 'kang', 'hong'] >>> set(list_data) {'song', 'kang', 'hong'}
-
νν
μ΄μ ννλ‘ μ μ λ§λ€μ΄λ³΄μ>>> tuple_data = ('hong', 'song', 'kang', 'hong') >>> set(tuple_data) {'song', 'kang', 'hong'}
-
λμ λ리
λ§μ§λ§μΌλ‘ λμ λλ¦¬λ‘ μ μ λ§λ€μ΄λ³΄μ.>>> dict_data = {'hong': 123, 'song':123, 'kang':123, 'hong':333} >>> dict_data {'hong': 333, 'song': 123, 'kang': 123} >>> set(dict_data) {'song', 'kang', 'hong'}
λμ λ리λ₯Ό μ¬μ©νλ©΄ νλ μΌλν΄μΌν κ² μλλ° λμ λ리λ ν€λ§ μ μΌλ‘ λ§λ λ€.
λ©€λ²κ° μ‘΄μ¬νλμ§ νμΈνκΈ° : in
νμ΄μ¬μ μ¬μ©νλ©΄μ 1μ°¨μ μΌλ‘ λλλ λΆλΆμ΄λ€. μ λ§ μ κΈ°νκ² μ»΄ν¨ν°μ λννλμ€ μμλλ° λ€μ μμ λ₯Ό 보μ.
λ§μ½ μμ λͺ©λ‘μ λ§λ€ λ ν¨μ μ±λΆμ€ μλ λ₯΄κΈ° κ²μ¬λ₯Ό νκΈ° μν μ μ λ§λ λ€κ³ νλ€λ©΄ λ€μκ³Ό κ°μ΄ μμ μ 보λ₯Ό μν λμ λλ¦¬κ° μμ±λλ€.
>>> food = {'bibimbob':{'rice','namul'},
... 'bulgogi':{'meat','source'},
... 'gaejang':{'gae','source'}}
>>> food
{'bibimbob': {'namul', 'rice'}, 'bulgogi': {'source', 'meat'}, 'gaejang': {'source', 'gae'}}
μμ μ 보 λμ λλ¦¬κ° μμ±λμΌλ―λ‘ μλ λ₯΄κΈ° κ²μ¬λ₯Ό μν μ μ λ§λ€μ΄λ³΄μ.
for
λ¬Έκ³Ό if
λ¬Έμ΄ λμ€λλ° λ€μμ λ°°μΈκ±°μ§λ§ μΌλ¨ λ€λ₯Έ μΈμ΄μ for
κ³Ό if
μ ν¬κ² λ€λ₯Όλ° μμΌλ μ΄ν΄νλ €νμ§ μμλ λλ€.
>>> for name, contents in food.items():
... if 'source' in contents:
... print(name)
-
food.items()
λ‘ λͺ¨λ ν€μ κ°μ λΆλ¬μμname
,contents
μ μ μ₯νλ€.
-
source
κ° λ€μ΄κ° κ°μname
μ μΆλ ₯νλ€.
μ΄λ κ² λλ©΄ source
κ° λ€μ΄κ° μμμ΄ μΆλ ₯λλλ° μ λ§ μ»΄ν¨ν°μ λννλκ² κ°λ€λ λλμ λ§μ΄ λ°κ²λ μμ μλ€.
μ½€λΉλ€μ΄μ κ³Ό μ°μ°μ
μμ κ°μ μμ λ₯Ό μ¬μ©νκΈ° μ μ μ¬μ€ μμμΌ ν λΆλΆμ΄ μμ§λ§, νμ΅μ μ΄ν΄λ₯Ό λκΈ° μν΄ μλ΅νλ€. μ΄μ λ§λ³΄κΈ°λ₯Ό νμΌλ 본격μ μΌλ‘ μμ보μ.
μ¬μ§μ μ€νκ΅λ? μ΄λ±νκ΅λ λ°°μ΄ μ§ν©μ΄λ€. μ§ν©μ λ€μκ³Ό κ°μ΄ ꡬλΆν μ μλ€.
- Aμ Bλͺ¨λ λΆλΆμ λνλ΄λ ν©μ§ν©.
- Aμ Bμ 곡ν΅μ μΈ λΆλΆμ λνλ΄λ κ΅μ§ν©
- Aμ Bμ 곡ν΅μ μΈ λΆλΆμ λΊ(ν©μ§ν© - κ΅μ§ν©) μ°¨μ§ν©
μ΄λ₯Ό μ°λ¦¬λ μμΌλ‘ μ κ°μ μ‘°ν©(Combination) μ΄λΌκ³ μΉν κ²μ΄λ€. κ·ΈλΌ μ°¨λ‘λλ‘ μμ보μ!
μΌλ¨ λ€μ μμμ μ£Ό μ¬λ£λ€μ λμ λ리μ μ§μ΄ λ£μ΄ λ°μ΄ν°λ₯Ό λ§λ€κ³ κ·Έ λ°μ΄ν°λ₯Ό κ°μ§κ³ νμ΅νμ.
>>> food = {
... 'cheeze':{'milk', 'Fermentation'},
... 'bread':{'flour', 'Fermentation'},
... 'corn soup':{'corn', 'water', 'salt'}
... }
>>> food
{'cheeze': {'Fermentation', 'milk'}, 'bread': {'flour', 'Fermentation'}, 'corn soup': {'salt', 'corn', 'water'}}
κ΅μ§ν©
Intersectionμ΄λΌκ³ λ νκ³ μ»΄ν¨ν° μ°μ° κ΅¬μ‘°μΈ &
μ°μ°(μ°νΌμΌλ) λ₯Ό μ¬μ©νλ€. κ΅μ§ν©μ μ΄μ©νμ¬ μ°λ¦¬κ° μνλ κ°μ μ°Ύλ λ‘μ§μ ꡬνν΄λ³΄μ
μμλ€μμ λ°ν¨(Fermentation)κ° λ μμμ μ°ΎμΌλ €λ©΄ λͺ¨λ νλͺ©, μ¦ foodμ set()
μ€ κ³΅ν΅λ λΆλΆ(&)μ μ°ΎμμΌ νλ€.
>>> for name, contents in food.items():
... if contents & {'Fermentation'}:
... print(name)
...
cheeze
bread
μ΄μ κ°μ΄ &
λ₯Ό μ΄μ©ν΄μ Fermentationμ΄ μλ μμμ μ°Ύλ μ½λλ₯Ό 지 μ μλ€.
κ·Έ λ° λ°
λ§μ½ &
μ°μ°μλ₯Ό μ΄μ©ν΄μ μνλ κ°μ΄ μλ€λ©΄ μ΄λ»κ² λ κΉ??
>>> for name, contents in food.items():
... if contents & {'rice'}:
... print(name)
...
>>>
μ΄μ κ°μ΄ μ무κ²λ μλ μ μ λ°ννλ€. μ΄λ λ Όλ¦¬μ μΈ Falseλ₯Ό λ°ννλ€.
κ·Όλ° μ΄λ κ² κ΅μ§ν©μ μ°Ύμ λ λ§λ€ μΌμΌμ΄ for name, contents in food.items(): if ...
μ΄λΌλ κΈ΄ μ½λλ₯Ό μμ±ν κ²μΈκ°?? μ‘°κΈ λ κ°κ²°νκ² μ¬μ©ν μ μλ λ°©λ²μ μλκ°?? λ°λ‘ λ€μ λ°°μΈ λ΄μ©μ΄ κ·Έ κ²μ΄ κ°λ₯νκ² ν΄μ€λ€.
intersection()
μ°μ°μλ₯Ό μ¬μ©νλ©΄ κ°λ₯νλ€!
κ°λ²Όμ΄ ν
μ€νΈλ₯Ό μν΄ λ³μμ μμμ κ°μ μ μ₯ν΄μ intersection()
μ°μ°μλ₯Ό μ¬μ©ν΄λ³΄μ.
>> a = {1, 2}
>> b = {2, 3}
>> a.intersection(b)
{2}
μ λ§ κ°κ²°ν΄ μ‘λ€. μ΄μ μμ μμ λ‘ κ΅μ§ν©μ λ§λ¬΄λ¦¬ ν΄λ³΄μ
>>> new_cheeze = food['cheeze']
>>> new_bread = food['bread']
>>> new_cheeze
{'Fermentation', 'milk'}
>>> new_bread
{'flour', 'Fermentation'}
# intersectino() μ°μ°μ μ΄μ©
>>> new_cheeze.intersection(new_bread)
{'Fermentation'}
# & μ°μ°μ μ΄μ©
>>> new_cheeze & new_bread
{'Fermentation'}
ν©μ§ν©
ν©μ§ν©μ Unionμ΄λΌκ³ νλ©° |
μ°μ°μμ union()
μ°μ°μλ₯Ό μ΄μ©ν΄μ μμμ λͺ¨λ μ±λΆμ μΆλ ₯ν΄ λ³΄μ!
λ°λ‘ μ¬μ©λ²μ μλ €μ£Όμλ©΄ μμ κ΅μ§ν©κ³Ό μμ ν λμΌν ꡬ쑰λ₯Ό κ°λλ€.
# | μ°μ°μ μ΄μ©
>> a = {1, 2, 3}
>> b = {3, 4, 5}
>> a | b
{1, 2, 3, 4, 5}
# union()ν¨μ μ΄μ©
>> a.union()
{1, 2, 3, 4, 5}
μ μμ μμ λ₯Ό μ¬μ©νμ§ μμμ§λ§ μ§μ ν΄λ³΄κΈΈ λ°λλ€. μ€λ ₯μ΄ μ λ§ λ§μ΄ λ κ²μ΄λ€.
μ°¨μ§ν©
μ°¨μ§ν©μ difference()
μ°μ°μλ₯Ό μ΄μ©νλ©° -
κΈ°νΈλ₯Ό μ¬μ©νκΈ°λ νλ€. λν λ°λ‘ μμ λ‘ λ€μ΄κ°λ³΄μ
# - μ°μ°μ μ΄μ©
>> a = {1, 2, 3}
>> b = {3, 4, 5}
>> a - b
{1, 2, 4, 5}
# difference() ν¨μ μ΄μ©
>> a.difference()
{1, 2, 4, 5}
μ΄ μΈμλ μ΅μ€ν΄λ£¨μλΈ, μλΈμ , μνΌμ , νλ‘νΌ μλΈμ μ΄ μλλ° μΆνμ μ€λ©νκ² λ€
'π€·πΌββοΈ Etc... > - C, C++, Python, Android' μΉ΄ν κ³ λ¦¬μ λ€λ₯Έ κΈ
Python λΉκ΅λ¬Έ if, elif, else μ 볡νκΈ° (0) | 2019.12.06 |
---|---|
Python μ½λ©νΈ, λΌμΈ μ μ§λ₯Ό μ§κ³ λμ΄κ°μ! (0) | 2019.12.04 |
Python λμ λ리μ λͺ¨λ κ² (0) | 2019.12.02 |
Python ννμ λͺ¨λ κ² (0) | 2019.12.02 |
Python 리μ€νΈμ λͺ¨λ κ² (0) | 2019.12.02 |
λκΈ