๋ค์ด๊ฐ๋ฉฐ
์ฝ๋ฉํ ์คํธ๋ฅผ ์ฐ์ตํ๊ณ ๋ค๋ฅธ์ฌ๋๋ค์ ํ์ด๋ฅผ ๊ณต๋ถํ๋ค ๋ณด๋ฉด ๊ต์ฅํ ๊ธฐ์ด์ ์ธ ๋ถ๋ถ์์ ์ฝ๋์ ๊ธธ์ด๋ฅผ ์ค์ด๊ณ , ์๊ฐ๋ณต์ก๋๋ฅผ ์ค์ผ ์ ์๋ค๋ ๊ฒ์ ๋๋๋ค. ๋ฐ๋ผ์ ์ฝ๋ฉํ ์คํธ์์ ํท๊ฐ๋ฆฌ์ง ์๊ณ ๋ฅ์ํ๊ฒ ์ฌ์ฉํ ์ ์๋๋ก set ์งํฉ์ ๋ํด์ ์ ๋ฆฌํด๋์!
1. ํ์ด์ฌ ๋ฆฌ์คํธ ์ค๋ณต ์ ๊ฑฐํ๊ธฐ
a = [1,2,3,3,3,3,4,5,6,7,3,5,6,7]
a = set(a)
print(a)
# ๋ค์ ๋ฆฌ์คํธ๋ก ์ฌ์ฉํ๊ณ ์ถ๋ค๋ฉด?
a = list(a)
a
set์ ์งํฉํํ์ ์๋ฃํ์ด๋ค. ๋ฐ๋ผ์ ์ค๋ณต๋๋ ๊ฐ์ด ํ๋์ ์งํฉ์ ๋ค์ด๊ฐ ์ ์๋ ํน์ฑ์ ์ฌ์ฉํด์ ๋ฆฌ์คํธ ๋ด์ ์ค๋ณต๊ฐ์ ๊ฐ๋จํ๊ฒ ์ ์ธํด์ค ์ ์๋ค.
2. ํ์ด์ฌ ๋ฆฌ์คํธ ๋น๊ตํ๊ธฐ (๊ต์งํฉ, ํฉ์งํฉ, ์ฐจ์งํฉ์ ์ด์ฉํ์)
2.1 ๊ต์งํฉ
a = [1,2,3,4,5]
b = [2,4,999,8,2,1]
intersection = set(a) & set(b)
print(list(intersection))
๋ ๊ฐ์ ๊ต์งํฉ!! ์ฝ๋ฉํ ์คํธ์์ '๋ณต๊ถ ๋น์ฒจ๋๋์ง ํ์ธํ๊ธฐ' ๋ฑ ๋ ๋ฆฌ์คํธ๋ฅผ ๋น๊ตํ ๋ ํด๋น ๋ฐฉ๋ฒ์ ์ ์ฉํ๊ฒ ์ฌ์ฉํ๋ค. ๊ฒฐ๊ด๊ฐ์ list๋ก ๋ฐ๊ฟ์ค ๋ณด์๋ค.
2.2 ํฉ์งํฉ
a = [1,2,3,4,5]
b = [2,4,999,8,2,1]
union = set(a) | set(b)
print(union)
2.3 ์ฐจ์งํฉ
a = [1,2,3,4,5]
b = [2,4,999,8,2,1]
differ_a = set(a) - set(b)
differ_b = set(b) - set(a)
print(differ_a)
print(differ_b)
์ด ์ฐจ์งํฉ ๋๋ฌธ์ ํด๋น ํฌ์คํ ์ ์์ฑํ๋ค. ์ด ๋ฌธ์ ๋ฅผ ํ๋ ๋๋ if๋ฌธ์ ์ด์ฉํด์ ์ฝ๋๋ฅผ ๊ธธ๊ฒ ์ผ์ง๋ง, set์ ์ฐจ์งํฉ์ ์ด์ฉํ๋ฉด ๋จ๋ฒ์ ํ์ค๋ก ๊ตฌํ ์ ์๋ค๋ ๊ฒ์ ์๊ฒ ๋์๋ค. ์ฐจ์งํฉ๋ ์ฝ๋ฉํ ์คํธ๋ฅผ ํ๋ ์์ฃผ ์ ์ฉํ๊ฒ, ์์ฃผ ์ฌ์ฉ๋๋ ๊ฒ ๊ฐ๋ค!
2.4 ๋์นญ ์ฐจ์งํฉ
์์ ์ฐจ์งํฉ์ a ๊ธฐ์ค์์ b๋ฅผ ๋นผ๊ฑฐ๋ b ๊ธฐ์ค์์ a๋ฅผ ๋นผ๋ ์ฐ์ฐ์ ์ํํ๋ค. ํ์ง๋ง ๋ ๋ฆฌ์คํธ์์ ๊ฒน์น๋ ๊ฐ์ ์ ์ธํ '๋ชจ๋ ๊ฐ'์ ๊ตฌํด์ผํ ๋๋ ์์ง ์์๊ฐ? ์ด๋๋ ๋ฐ๋ก ๋์นญ ์ฐจ์งํฉ์ ์ด์ฉํ๋ฉด๋๋ค.
a = [1,2,3,4,5]
b = [2,4,999,8,2,1]
differ_all = set(a) ^ set(b)
print(differ_all)
์์ ์ฐจ์งํฉ๋ค์ ๊ฐ์ด ํ set๋ก ํฉ์ณ์ ธ์ ๋์จ๋ค.
'potato's Dev Note > Python' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[python3] itertools ์ดํฐ๋ ์ดํฐ๋ฅผ ๋ง๋๋ ํจ์ ์ข ๋ฅ ์ดํด๋ณด๊ธฐ (0) | 2021.08.04 |
---|---|
[ํ์ด์ฌ] ํด๋์ค์ ๊ฐ์ฒด / ์์ฑ์(__init__) / ํด๋์ค์ ์์, ์ค๋ฒ๋ผ์ด๋ฉ (0) | 2021.07.21 |