Set

set์€ ์ •๋ ฌ๋˜์ง€ ์•Š์€ ์ˆ˜ํ•™์˜ ์ง‘ํ•ฉ๊ณผ ๋™์ผํ•œ ๊ฐœ๋…์˜ ๋ฐ์ดํ„ฐ ํƒ€์ž…์œผ๋กœ์„œ, ์ค‘๋ณต๋œ ๊ฐ’์„ ๊ฐ€์งˆ ์ˆ˜ ์—†๋‹ค. ์•„๋ž˜์˜ ์˜ˆ์ œ์—์„œ exSet1์€ set์˜ ๊ทœ์น™์— ์ œ๋Œ€๋กœ ๋ถ€ํ•ฉํ•˜๋Š” ๊ฒฝ์šฐ ์ด์ง€๋งŒ, exSet2๋Š” ์ค‘๋ณต๋œ ์•„์ดํ…œ(โ€˜pโ€™)์ด ์„ž์—ฌ ์žˆ๋Š” ๊ฒƒ์„ ๋ณผ ์ˆ˜ ์žˆ๋‹ค. ๋”ฐ๋ผ์„œ ์‹ค์ œ ์•„๋ž˜์˜ ์ฝ”๋“œ๋ฅผ ์‹คํ–‰ํ•ด ๋ณด๋ฉด, exSet2์—๋Š” Python์ด ์•Œ์•„์„œ ์ค‘๋ณต๋œ ๊ฐ’์„ ํ•˜๋‚˜ ์ œ๊ฑฐํ•œ ๊ฒƒ์„ ์•Œ ์ˆ˜ ์žˆ๋‹ค.

Example 1

exSet1 = { 1, 2, 3, 4, 5 }
print(exSet1)
 
exSet2 = { 'a', 'p', 'p', 'l', 'e' }
print(exSet2)
{1, 2, 3, 4, 5}
{'l', 'p', 'a', 'e'}

Example 2

# ๋นˆ ์ง‘ํ•ฉ ๋งŒ๋“ค๊ธฐ
aSet = set()
print("(a)", aSet)
 
# List๋ฅผ input์œผ๋กœ ๋„ฃ์—ˆ์„ ๋•Œ
bSet = set([1,2,3,4,5])
print("(b)", bSet)
 
# ์ง‘ํ•ฉ์„ input์œผ๋กœ ๋„ฃ์—ˆ์„ ๋•Œ
cSet = set({1,3,5,7,9})
print("(c)", cSet)
 
# range ํ•จ์ˆ˜๋ฅผ ๋„ฃ์—ˆ์„ ๋•Œ
dSet = set(range(5))
print("(d)", dSet)
 
# tuple์„ ๋„ฃ์—ˆ์„ ๋•Œ
eSet = set((2,4,6,8,10))
print("(e)", eSet)
(a) set()
(b) {1, 2, 3, 4, 5}
(c) {1, 3, 5, 7, 9}
(d) {1, 2, 3, 4, 5}
(e) {2, 4, 6, 8, 10}

์ง‘ํ•ฉ ์—ฐ์‚ฐ

์ง‘ํ•ฉ์„ ์ •์˜ํ–ˆ๋‹ค๋ฉด ๋‹น์—ฐํžˆ ์—ฐ์‚ฐ๋„ ๊ฐ€๋Šฅํ•  ๊ฒƒ์ด๋‹ค.

|์—ฐ์‚ฐ์ž|์ˆ˜ํ•™ ๊ธฐํ˜ธ|Python ๋ฌธ๋ฒ•| |:-:------|:---:--------|:-------:----| |ํ•ฉ์ง‘ํ•ฉ(union)||A.union(B) ํ˜น์€ A A \cap B|A.intersection(B) ํ˜น์€ A & B| |์ฐจ์ง‘ํ•ฉ(difference)|A - BA \supseteq BA \subseteq B$|A.issubset(B) ํ˜น์€ A โ‡ B|

aSet = {1,2,3,4,5}
bSet = {1,2,4,8,16}
 
# ์›์†Œ ์ถ”๊ฐ€
aSet.add(6)
print(aSet)
 
# ์›์†Œ ์ œ๊ฑฐ
aSet.remove(6)
print(aSet)
 
# ํ•ฉ, ๊ต, ์ฐจ
print(aSet | bSet)
print(aSet & bSet)
print(aSet - bSet)
 
print(aSet.union(bSet))
print(aSet.intersection(bSet))
print(aSet.difference(bSet))
 
# ์ƒ์œ„, ํ•˜์œ„
print(aSet >= bSet)
print(aSet <= bSet)
print(aSet >= (aSet - bSet))
{1, 2, 3, 4, 5, 6}

{1, 2, 3, 4, 5}

{1, 2, 3, 4, 5, 8, 16}
{1, 2, 4}
{3, 5}

{1, 2, 3, 4, 5, 8, 16}
{1, 2, 4}
{3, 5}

False
False
True