Python/기초
[Python] 집합
쇼미요미
2022. 5. 1. 20:58
728x90
안녕하세요. 쇼미요미입니다.
오늘은 집합에 대해 알아보도록 하겠습니다.
예전에 중학교 1학년 수학에서 배운 집합과 비슷한 형태라고 생각하시면 됩니다.
1. 정의
- 집합에 관련된 것들을 쉽게 처리하기 위해 만들어진 자료형
- 중복을 허용하지 않음
- 순서가 없음
- 데이터 분석 시 용이하다고 함
2. 집합으로 묶기
s1 = set([1,2,3])
s2 = set("abcd")
3. 집합 출력하기
- 순서와 중복이 허용되지 않음
s2 = set("Hello")
print(s2)
>>> {'e', 'l', 'o', 'H'}
4. 교집합
- 두 개의 집합에서 중복되는 요소만 출력
4-1) '&' 로 교집합 구하기
s1 = set([1, 2, 3, 4, 5, 6])
s2 = set([4, 5, 6, 7, 8, 9])
print(s1 & s2)
>>> {4, 5, 6}
4-2) intersection으로 교집합 구하기
s1 = set([1, 2, 3, 4, 5, 6])
s2 = set([4, 5, 6, 7, 8, 9])
print(s1.intersection(s2))
>>> {4, 5, 6}
5. 합집합
- 두 개의 집합에서 모든 요소 출력
5-1) '|' 로 합집합 구하기
s1 = set([1, 2, 3, 4, 5, 6])
s2 = set([4, 5, 6, 7, 8, 9])
print(s1 | s2)
>>> {1, 2, 3, 4, 5, 6, 7, 8, 9}
5-2) union으로 합집합 구하기
s1 = set([1, 2, 3, 4, 5, 6])
s2 = set([4, 5, 6, 7, 8, 9])
print(s1.union(s2))
>>> {1, 2, 3, 4, 5, 6, 7, 8, 9}
6. 차집합
- (A - B)일 경우 B와 중복되는 요소를 제외한 A의 요소만 출력
6-1) '-' 로 차집합 구하기
s1 = set([1, 2, 3, 4, 5, 6])
s2 = set([4, 5, 6, 7, 8, 9])
print(s1 - s2)
>>> {1, 2, 3}
6-2) difference로 차집합 구하기
s1 = set([1, 2, 3, 4, 5, 6])
s2 = set([4, 5, 6, 7, 8, 9])
print(s1.difference(s2))
>>> {1, 2, 3}
7. 요소 추가하기 : add
7-1) 1개만 추가하기
s1 = set([1, 2, 3])
s1.add(4)
print(s1)
>>> {1, 2, 3, 4}
7-2) 여러 개 추가하기
s1 = set([1, 2, 3])
s1.update([4, 5, 6])
print(s1)
>>> {1, 2, 3, 4, 5, 6}
8. 요소 삭제하기 : remove
- 1개만 삭제 가능
s1 = set([1, 2, 3])
s1.remove(2)
print(s1)
>>> {1, 3}

728x90