[Python] Set
- Python/기초
- 2021. 4. 18.
반응형
반응형
파이썬의 데이터 타입 중 set을 살펴볼까 합니다.
set은 수학 시간에 배운 집합을 모티브로 만든 데이터 타입이라서 수학의 집합과 성질이 비슷합니다.
순서가 없고 한 원소만 set에 들어갈 수 있습니다.
예를 들어, 중복 원소가 있는 리스트를 set으로 바꾸면 중복원소가 없어집니다.
s = set(['a','ab','c','cd','d','ab','cd'])
s
집합 모양도 수학시간에 본 집합모양으로 나오게 됩니다.
합집합, 교집합, 여집합, 대칭차도 가능합니다.
대칭차는 (A U B) - (A ∩ B) 를 의미합니다. 즉, 집합 A와 B에서 교집합만 빠지는 경우를 말합니다.
s = set(['a','ab','c','cd','d','ab','cd'])
t = set(['a','b','c'])
s.union(t) #합집합 s∪t
s.intersection(t) #교집합 s∩t
s.difference(t) #차집합 s-t
t.difference(s) #차집합 t-s
s.symmetric_difference(t) #대칭차
이걸 어디다 쓰나 생각할 수 있는데 주로 리스트에서 원소 필터링을 간단히 하거나 중복 원소를 지울 때 set을 사용하게 됩니다. 집합의 성질을 이용해 필터를 한 후 다시 리스트로 데이터 타입을 바꾸면 필터링한 리스트를 만들 수 있습니다.
집합을 리스트를 바꾸는 건 간단합니다. 다음과 같이 list() 안에 넣어주면 됩니다.
list_s = list(s)
list_s
'Python > 기초' 카테고리의 다른 글
[Python] array Class (0) | 2021.04.28 |
---|---|
[Python] conda 기본 명령 (0) | 2021.04.24 |
[Python]리스트, 딕셔너리 메모장에 저장,불러오기 (0) | 2021.04.03 |
문자열 포맷 출력 (0) | 2021.03.31 |
딕셔너리 key 변경하기 (0) | 2021.03.27 |