1. Set1.1 add1.2 update1.3 remove1.4 discard1.5 pop1.6 ๊ต์งํฉ1.7 ํฉ์งํฉ1.8 ์ฐจ์งํฉ1.9 ๋์นญ์ฐจ์งํฉ1.10 issubset1.11 isdisjoint1.12 Symmetric_difference_update
1. Set
์งํฉ ์๋ฃํ์ ์ค๋ณต์ ํ์ฉํ์ง ์์ผ๋ฉฐ, ์์๊ฐ ์๋ ์๋ฃํ์
๋๋ค.
์
๋ ฅ
number_set = set([1, 1, 2, 2, 3, 3, 4]) print(number_set)
์ถ๋ ฅ
{1, 2, 3, 4}
ย
์์ ์์ ๋ฅผ ๋ณด๋ฉด ๊ฐ์ ์ซ์๋ค์ ๋ค ์ ๊ฑฐ๋๊ณ ํ๋๋ง ๋จ์ ๊ฒ์ ๋ณผ ์ ์์ต๋๋ค.
์
๋ ฅ
number_set = set('apple coffee') print(number_set)
ย
์ถ๋ ฅ
{'o', 'e', 'c', ' ', 'l', 'f', 'p', 'a'}
ย
๋ฌธ์์ด์ ๋ฃ์์ ๊ฒฝ์ฐ ์คํํ ๋๋ง๋ค ์์๊ฐ ๊ณ์ ๋ฌ๋ผ์ง๋ ๊ฒ์ ๋ณผ ์ ์์ต๋๋ค.
1.1 add
์งํฉ ์๋ฃํ์ ๊ฐ์ ์ถ๊ฐํ ๋๋
add
๋ฅผ ์ฌ์ฉํฉ๋๋ค.์
๋ ฅ
menu = set(['americano', 'cafe latte']) menu.add('ice coffee') print(menu)
ย
์ถ๋ ฅ
{'cafe latte', 'ice coffee', 'americano'}
ย
1.2 update
๊ฐ์ ์ฌ๋ฌ ๊ฐ๋ฅผ ์ถ๊ฐํ ๋์๋
update
๋ฅผ ์ฌ์ฉํฉ๋๋ค.์
๋ ฅ
menu = set(['americano', 'cafe latte']) menu.update(['ice coffee', 'ice tea', 'green tea']) print(menu)
ย
์ถ๋ ฅ
{'ice coffee', 'green tea', 'americano', 'ice tea', 'cafe latte'}
ย
1.3 remove
ํน์ ๊ฐ์ ์ ๊ฑฐํ๊ณ ์ถ์ ๋์๋
remove
๋ฅผ ์ฌ์ฉํฉ๋๋ค.์
๋ ฅ
menu = set(['americano', 'cafe latte']) menu.remove('cafe latte') print(menu)
ย
์ถ๋ ฅ
{'americano'}
ย
1.4 discard
remove์ฒ๋ผ ํน์ ๊ฐ์ ์ ๊ฑฐํ๊ณ ์ถ์ ๋ ์ฌ์ฉํ๋ ํจ์์ธ
discard
๋ ์์ต๋๋ค.์
๋ ฅ
s = {2, 3, 4, 5, 6} s.discard(1)
ย
์ถ๋ ฅ
{2, 3, 4, 5, 6}
discard๋ ์ง์ฐ๋ ค๋ ๊ฐ์ด ์์ผ๋ฉด ์ค๋ฅ๋ฅผ ์ถ๋ ฅํ์ง ์์ผ๋ฉฐ, remove๋ ์ค๋ฅ๋ฅผ ์ถ๋ ฅํฉ๋๋ค. ๋ ๊ฐ์ ํจ์๋ฅผ ๊ตฌ๋ถํด์ ์ฌ์ฉํด์ฃผ์ธ์.
ย
1.5 pop
๊ฐ์ ์์๋๋ก ํ๋์ฉ ์ง์ฐ๊ณ ์ถ์ ๋
pop
์ ์ฌ์ฉํฉ๋๋ค.์
๋ ฅ
s = {3, 4, 5, 6, 7, 8} s.pop() s s.pop s s.pop s
ย
์ถ๋ ฅ
{3, 4, 5, 6, 7, 8} {4, 5, 6, 7, 8} {5, 6, 7, 8}
ย
1.6 ๊ต์งํฉ
์งํฉ ์๋ฃํ์ ์งํฉ์ด๋ผ๋ ์ด๋ฆ์ ๋ง๊ฒ ๊ต์งํฉ, ํฉ์งํฉ, ์ฐจ์งํฉ์ ๊ตฌํ ์ ์์ต๋๋ค.
ย
๊ต์งํฉ
์ &
ํน์ intersection ํจ์
๋ฅผ ์ฌ์ฉํ์ฌ ๊ตฌํฉ๋๋ค.์
๋ ฅ
my_cafe = set(['americano', 'water', 'yogurt strawberry blended', 'cafe latte']) other_cafe = set(['americano', 'water', 'green tea']) print(my_cafe & other_cafe) print(my_cafe.intersection(other_cafe))
ย
์ถ๋ ฅ
{'water', 'americano'} {'water', 'americano'}
ย
1.7 ํฉ์งํฉ
ํฉ์งํฉ
์ |
๋๋ union ํจ์
๋ฅผ ์ฌ์ฉํ์ฌ ๊ตฌํฉ๋๋ค.์
๋ ฅ
my_cafe = set(['americano', 'water', 'yogurt strawberry blended', 'cafe latte']) other_cafe = set(['americano', 'water', 'green tea']) print(my_cafe | other_cafe) print(my_cafe.union(other_cafe))
ย
์ถ๋ ฅ
{'americano', 'green tea', 'cafe latte', 'yogurt strawberry blended', 'water'} {'americano', 'green tea', 'cafe latte', 'yogurt strawberry blended', 'water'}
ย
1.8 ์ฐจ์งํฉ
์ฐจ์งํฉ
์ -
๋๋ difference ํจ์
๋ฅผ ์ฌ์ฉํ์ฌ ๊ตฌํฉ๋๋ค.์
๋ ฅ
my_cafe = set(['americano', 'water', 'yogurt strawberry blended', 'cafe latte']) other_cafe = set(['americano', 'water', 'green tea']) print(my_cafe - other_cafe) print(my_cafe.difference(other_cafe))
ย
์ถ๋ ฅ
{'yogurt strawberry blended', 'cafe latte'} {'yogurt strawberry blended', 'cafe latte'}
ย
1.9 ๋์นญ์ฐจ์งํฉ
๋ ๊ฐ์ ์งํฉ์ด ์์ ๋ ๊ณตํต๋ ๋ถ๋ถ์ ์ ์ธํ ๋๋จธ์ง ๋ถ๋ถ์
๋์นญ์ฐจ์งํฉ
์ด๋ผ๊ณ ํ๋ฉฐ, ^
๋๋ symmetric_difference
ํจ์๋ฅผ ์ฌ์ฉํฉ๋๋ค.์
๋ ฅ
s = {1, 2, 3, 4} ss = {3, 4, 5, 6} s^ss set.symmetric_difference(s, ss)
ย
์ถ๋ ฅ
{1, 2, 5, 6} {1, 2, 5, 6}
ย
1.10 issubset
์๋ก์ด ๊ฐ์ ์๋์ ๊ฐ์ด ์ํ๋์ง ํ์ธํ๊ณ ์ถ์ ๋๋
issubset ํจ์
๋ฅผ ์ฌ์ฉํฉ๋๋ค.์
๋ ฅ
s = {1, 2, 3, 4} ss = {3, 4, 5, 6} s.issubset({1, 2}) s.issubset({1, 2, 3, 4, 5, 6}) s < {1, 2, 3, 4, 5, 6} #์ง๋ถ๋ถ์งํฉ(<->์ง์์์งํฉ) s <= {1, 2, 3, 4, 5, 6} #๋ถ๋ถ์งํฉ(<->์์์งํฉ)
ย
์ถ๋ ฅ
False True True True
ย
1.11 isdisjoint
๋ฐ์ดํฐ๊ฐ ์๋ก ๊ฒน์น๋ ๋ถ๋ถ์ด ์๋์ง ํ์ธํ๊ณ ์ถ์ ๋๋
isdisjoint ํจ์
๋ฅผ ์ฌ์ฉํฉ๋๋ค.์
๋ ฅ
s = {1, 2, 3, 4} ss = {3, 4, 5, 6} s.isdisjoint(ss)
ย
์ถ๋ ฅ
False #๊ฒน์น๋ ๋ถ๋ถ์ด ์์ผ๋ฉด False, ์์ผ๋ฉด True๊ฐ ์ถ๋ ฅ๋ฉ๋๋ค.
ย
์
๋ ฅ
s = {1, 2} ss = {3, 4} s.isdisjoint(ss) 1 in s len(s) #s์ ๊ธธ์ด๋ฅผ ์ถ๋ ฅํฉ๋๋ค.
ย
์ถ๋ ฅ
True True 2s, ss
ย
1.12 Symmetric_difference_update
์ง๊ธ ์
๊ณผ ๋น๊ตํ ๋ค๋ฅธ ์
๋ค ์ค์์ ๊ฒน์น์ง ์๋ ์์๋ง ์ถ๋ ฅํ๊ณ ์ถ์ ๋
symmetric_difference_updateํจ์
๋ฅผ ์ฌ์ฉํฉ๋๋ค.์
๋ ฅ
s = {1, 2, 3} ss = {3, 4, 5} s.symmetric_difference_update(ss) s
ย
์ถ๋ ฅ
{1, 2, 4, 5} #๊ฒน์น๋ ์์์ธ 3์ ์ ์ธ๋ ๊ฒ์ ์ ์ ์์ต๋๋ค.