ν”„λ‘œκ·Έλž˜λ° μ–Έμ–΄/Python

[Python] μžλ£Œν˜• - 집합 Set

NaNaRinπŸ™ƒ 2021. 2. 4. 18:22

0. 집합 Set μ΄λž€?

집합에 κ΄€λ ¨λœ 것을 μ‰½κ²Œ μ²˜λ¦¬ν•˜κΈ° μœ„ν•΄ λ§Œλ“  μžλ£Œν˜•

쀑볡을 ν—ˆμš©ν•˜μ§€ μ•ŠμœΌλ©° μˆœμ„œκ°€ μ—†λ‹€

μ§‘ν•©μ˜ μ›μ†Œλ‘œ λ‹€μ–‘ν•œ 값을 κ°€μ§ˆ 수 μžˆμ§€λ§Œ 값을 λ°”κΏ€ 수 μ—†κΈ° λ•Œλ¬Έμ— 리슀트, λ”•μ…”λ„ˆλ¦¬, 집합은 μš”μ†Œλ‘œ κ°€μ§ˆ 수 μ—†λ‹€

( set μƒμ„±μž μ•ˆμ— 리슀트λ₯Ό λ„£μœΌλ©΄ 리슀트 μ•ˆμ˜ μ›μ†Œκ°€ μ§‘ν•©μ˜ μ›μ†Œκ°€ λœλ‹€ )

μ€‘κ΄„ν˜Έλ₯Ό μ“°λŠ” 것이 λ”•μ…”λ„ˆλ¦¬λž‘ λΉ„μŠ·ν•˜μ§€λ§Œ key값이 없이 κ°’λ§Œ μ‘΄μž¬ν•œλ‹€

# 집합λͺ… = {μš”μ†Œ1, μš”μ†Œ2, μš”μ†Œ3, …}
# SetName = {1, 2, 3}

a = set()
b = {1, 2, 3}
c = {1, 'hi', (2, 5)}
print(c)                            # {1, (2, 5), 'hi'}
d = {[1, 2, 3, 4]}                  # 였λ₯˜ TypeError: unhashable type: 'list'
d = set([1, 2, 3, 4])
print(d)                            # {1, 2, 3, 4}
e = set("hello")
print(e)                            # {'o', 'e', 'h', 'l'}

 

1. ꡐ집합, 합집합, 차집합

ꡐ집합 : &  or intersection()

합집합 : |  or union()

차집합 : -  or difference()

s1 = {1, 2, 3, 4, 5}
s2 = {3, 4, 5, 6, 7}

print(s1 & s2)                      # {3, 4, 5}
print(s1.intersection(s2))          # {3, 4, 5}
print(s2 & s1)                      # {3, 4, 5}
print(s2.intersection(s1))          # {3, 4, 5}

print(s1 | s2)                      # {1, 2, 3, 4, 5, 6, 7}
print(s1.union(s2))                 # {1, 2, 3, 4, 5, 6, 7}
print(s2 | s1)                      # {1, 2, 3, 4, 5, 6, 7}
print(s2.union(s1))                 # {1, 2, 3, 4, 5, 6, 7}

print(s1 - s2)                      # {1, 2}
print(s1.difference(s2))            # {1, 2}
print(s2 - s1)                      # {6, 7}
print(s2.difference(s1))            # {6, 7}