셋(set)
1. 셋(Set)이란?
셋은 중복을 허용하지 않는 순서 없는 자료형입니다. 수학의 집합과 비슷한 개념으로 생각할 수 있습니다.
my_set = {1, 2, 3, 3, 4, 4, 5}
print(my_set) # 중복된 값은 하나만 표시됩니다
1.1 셋 생성
셋은 중괄호 {}
안에 쉼표로 구분된 값들을 넣어 생성합니다. 또는 set()
함수를 사용할 수도 있습니다.
fruits = {'apple', 'banana', 'cherry'}
numbers = set([1, 2, 2, 3, 4, 4, 5])
print("과일 셋:", fruits)
print("숫자 셋:", numbers)
1.2 셋의 특징
셋은 중복을 허용하지 않고, 순서가 없습니다. 따라서 인덱싱으로 접근할 수 없습니다.
numbers = {1, 2, 3, 4, 5, 5, 4, 3, 2, 1}
print(numbers) # 중복이 제거되고 순서가 무작위로 출력됩니다
print(numbers[0]) # 에러 발생
print("에러:", e)
1.3 셋 연산
셋은 수학의 집합 연산을 지원합니다.
set1 = {1, 2, 3, 4, 5}
set2 = {4, 5, 6, 7, 8}
print("합집합:", set1 | set2)
print("교집합:", set1 & set2)
print("차집합:", set1 - set2)
1.4 셋 수정
셋에 요소를 추가하거나 제거할 수 있습니다.
fruits = {'apple', 'banana', 'cherry'}
fruits.add('orange') # 요소 추가
print("오렌지 추가 후:", fruits)
fruits.remove('banana') # 요소 제거
print("바나나 제거 후:", fruits)
1.5 셋 메서드
셋에서 자주 사용되는 메서드들이 있습니다.
set1 = {1, 2, 3, 4, 5}
set2 = {4, 5, 6, 7, 8}
print("대칭 차집합:", set1.symmetric_difference(set2))
print("set1이 set2의 부분집합인가?:", set1.issubset(set2))
print("두 집합에 겹치는 요소가 있는가?:", set1.isdisjoint(set2))
셋은 중복을 제거하거나 집합 연산을 수행할 때 유용하게 사용됩니다. 특히 데이터의 유일성을 확인하거나 여러 데이터의 공통점을 찾을 때 효과적입니다.
{"packages":["numpy","pandas","matplotlib","lxml"]}