728x90
반응형
Python의 집합(Set)은 수학에서의 집합 개념과 유사하며, 중복을 허용하지 않고 순서를 보장하지 않는 데이터 컬렉션입니다. 집합은 특히 데이터 처리와 관련된 작업에서 유용하게 사용될 수 있습니다. 이 글에서는 Python에서 집합을 다루는 기본적인 방법과 그 활용법에 대해 알아보겠습니다.
집합의 생성
집합은 중괄호 {}를 사용하여 생성하거나, set() 함수를 이용하여 다른 컬렉션을 집합으로 변환할 수 있습니다. 집합은 중복된 요소를 자동으로 제거하므로, 데이터의 유일성을 보장하고 싶을 때 매우 유용합니다.
# 집합 생성
my_set = {1, 2, 3, 4, 4, 2}
print(my_set) # 출력: {1, 2, 3, 4}
# 리스트에서 집합으로 변환
my_list = [1, 2, 2, 3, 4]
set_from_list = set(my_list)
print(set_from_list) # 출력: {1, 2, 3, 4}
집합 연산
집합은 교집합, 합집합, 차집합, 대칭 차집합 등의 연산을 제공합니다. 이 연산들은 데이터 분석이나 알고리즘 구현 시 매우 유용하게 사용됩니다.
a = {1, 2, 3, 4}
b = {3, 4, 5, 6}
# 교집합
print(a & b) # 출력: {3, 4}
print(a.intersection(b))
# 합집합
print(a | b) # 출력: {1, 2, 3, 4, 5, 6}
print(a.union(b))
# 차집합
print(a - b) # 출력: {1, 2}
print(a.difference(b))
# 대칭 차집합
print(a ^ b) # 출력: {1, 2, 5, 6}
print(a.symmetric_difference(b))
집합의 수정
집합에 요소를 추가하거나 삭제하는 것은 간단합니다. add() 메서드를 사용하여 새로운 요소를 추가할 수 있으며, remove() 또는 discard() 메서드로 요소를 삭제할 수 있습니다.
# 요소 추가
my_set.add(5)
print(my_set) # 출력: {1, 2, 3, 4, 5}
# 요소 삭제
my_set.remove(5) # 요소가 집합에 없을 경우 KeyError 발생
my_set.discard(4) # 요소가 집합에 없어도 오류 발생하지 않음
print(my_set) # 출력: {1, 2, 3}
집합과 루프
집합에서도 for 루프를 사용하여 각 요소를 순회할 수 있습니다. 그러나 집합은 순서를 보장하지 않으므로, 요소의 순서에 의존하는 작업에는 적합하지 않습니다.
for number in my_set:
print(number) # 출력 순서는 보장되지 않음
결론
Python의 집합은 데이터의 유일성을 보장하고 복잡한 집합 연산을 간단하게 수행할 수 있게 해줍니다. 특히, 데이터 처리와 관련된 문제 해결 시 집합의 사용은 매우 효율적입니다. 집합을 활용함으로써 코드의 복잡성을 줄이고 성능을 개선할 수 있습니다.
728x90
반응형
'Python' 카테고리의 다른 글
Python에서 예외 처리하기: try와 except의 사용법 (31) | 2024.05.10 |
---|---|
Python 파일 입출력 기초: 파일 다루기의 기본 (30) | 2024.05.09 |
Python에서 딕셔너리(Dictionary) 활용하기: 기본부터 실용적인 팁까지 (32) | 2024.05.08 |
Python에서 튜플(Tuple) 이해하기: 특징과 활용법 (33) | 2024.05.08 |
Python에서 리스트 활용하기: 기본부터 고급 기술까지 (32) | 2024.05.07 |