파이썬 Set(집합) 사용법
파이썬에서 Set은 중복되지 않은 값을 저장하는 자료형으로, 흔히 집합이라고 부릅니다. 리스트와 비슷해 보이지만, 몇 가지 차이점이 있어요.
Set의 주요 특징
- 순서가 없다: Set에 저장된 요소들은 순서가 없습니다.
- 중복을 허용하지 않는다: 동일한 값을 여러 번 저장할 수 없습니다.
- 요소를 변경할 수 없다: Set의 요소 자체는 변경할 수 없지만, 요소를 추가하거나 삭제할 수 있습니다.
Set 생성 방법
Set은 {} 중괄호를 사용해 만들 수 있으며, 리스트를 set() 함수로 변환할 수도 있습니다.
s1 = {5, 4, 3, 2, 1} # 중괄호를 이용해 집합 생성
s2 = [1, 2, 3, 4, 5] # 리스트
s3 = set(s2) # 리스트를 Set으로 변환
요소 추가
- .add() 메소드를 사용해 단일 요소를 추가할 수 있습니다.
- .update([]) 메소드는 여러 개의 요소를 한 번에 추가할 때 사용됩니다.
s1 = {3, 2, 1}
s1.add(4) # 원소 4 추가
s1.update([5, 6, 7]) # 여러 원소 추가
print(s1) # {1, 2, 3, 4, 5, 6, 7}
요소 제거
- .remove()는 특정 요소를 제거하지만, 요소가 없을 경우 오류를 발생시킵니다.
- .discard()는 특정 요소가 없더라도 오류가 발생하지 않습니다.
s1 = {1, 2, 3, 4}
s1.remove(4)
s1.discard(3)
s1.discard(5) # 요소가 없어도 오류 없음
집합 연산
파이썬의 Set 자료형을 이용해 교집합, 합집합, 차집합 등의 집합 연산을 쉽게 수행할 수 있습니다.
- 교집합: 두 집합의 공통 요소. & 또는 .intersection() 사용.
- 합집합: 두 집합의 모든 요소. | 또는 .union() 사용.
- 차집합: 한 집합에만 있는 요소. - 또는 .difference() 사용.
s1 = {1, 2, 3, 4}
s2 = {3, 4, 5, 6}
print(s1 & s2) # 교집합: {3, 4}
print(s1 | s2) # 합집합: {1, 2, 3, 4, 5, 6}
print(s1 - s2) # 차집합: {1, 2}
'파이썬' 카테고리의 다른 글
[Python] filter() 함수 (1) | 2024.10.14 |
---|---|
[Python] any() / all() (0) | 2024.10.08 |
[Python] map() 함수 (0) | 2024.10.05 |
[Python] 람다 / lambda 함수 (0) | 2024.10.04 |
[Python] datetime / 현재 날짜 가져오기 (1) | 2024.10.03 |