세트 ( set )
컬렉션 타입이며, 요소들의 중복이 불가능하다.
중괄호 {}를 사용하여 생성하거나 set() 생성자를 사용한다.
요소들의 정렬 기준은 없다.
s1 = {1, 3, 5, 7}
print(s1)
print(type(s1))
>>
{1, 3, 5, 7}
<class 'set'>
-------------------------------------------
s2 = set([1, 3, 5, 7])
print(s2)
print(type(s2))
>>
{1, 3, 5, 7}
<class 'set'>
# 요소들의 중복이 불가능하다.
s3 = {1, 3, 5, 3 ,7 ,9, 1}
print(s3)
>>
{1, 3, 5, 7, 9}
# 리스트 타입을 세트로 변환할 수 있다.
# 중복된 요소는 제거된다.
li2 = [1, 3, 5, 3, 7, 9, 1]
print(li2)
s4 = set(li2)
print(s4)
>>
[1, 3, 5, 3, 7, 9, 1]
{1, 3, 5, 7, 9}
세트의 메서드
add() : 세트에 요소를 "한개만" 추가
s1 = {100, 200}
# add() : 세트에 요소를 한개씩 추가
s1.add(150)
print(s1)
s1.add(50)
print(s1)
>>
# 따로 정렬 기준이 없다.
{200, 100, 150}
{200, 50, 100, 150}
update() : 세트에 요소를 "여러개" 추가
s1 = {100, 200}
s1.update([40, 50, 60, 20])
print(s1)
>>
{100, 200, 40, 50, 20, 60}
remove() : 세트의 특정 요소를 제거한다. 단, 삭제할 요소가 해당 세트에 존재하지 않으면 에러가 발생한다.
s1 = {10, 20, 30}
s1.remove(20)
print(s1)
# s1.remove(50) 삭제할 요소가 없으면 에러발생 KeyError: 20
>>
{10, 30}
copy() : 세트를 복사
s1 = {10, 20, 30}
s2 = s1.copy() # s2 != s1
print(s1)
print(s2)
print(id(s1))
print(id(s2))
>>
{10, 20, 30}
{10, 20, 30}
137973498448128 # 같은 데이터를 복하더라도, 주소는 다르다.
137973497461472
union() : 합집합
s1 = {10, 20, 30, 40, 50}
s2 = {30, 40, 50, 60, 70}
result1 = s1.union(s2)
print(result1)
result2 = s1 | s2 # | 기호를 사용하면 동일한 방법으로 합집합이 가능하다.
print(result2)
>>
{70, 40, 10, 50, 20, 60, 30}
{70, 40, 10, 50, 20, 60, 30}
intersection() : 교집합
s1 = {10, 20, 30, 40, 50}
s2 = {30, 40, 50, 60, 70}
result1 = s1.intersection(s2)
print(result1)
result2 = s1 & s2 # & 기호를 사용
print(result2)
>>
{40, 50, 30}
{40, 50, 30}
difference() : 차집합
s1 = {10, 20, 30, 40, 50}
s2 = {30, 40, 50, 60, 70}
result1 = s1.difference(s2)
print(result1)
result2 = s1 - s2 # - 기호를 사용
print(result2)
>>
{10, 20}
{10, 20}
symmetric_difference() : 대칭차집합
s1 = {10, 20, 30, 40, 50}
s2 = {30, 40, 50, 60, 70}
result1 = s1.symmetric_difference(s2)
print(result1)
result2 = s1 ^ s2 # ^ 기호를 사용
print(result2)
>>
{20, 70, 10, 60}
{20, 70, 10, 60}
'파이썬' 카테고리의 다른 글
파이썬의 연산자 (0) | 2024.03.14 |
---|---|
딕셔너리 - 컬렉션 타입 (0) | 2024.03.14 |
input 함수 (0) | 2024.03.13 |
튜플 ( 컬렉션 타입 ) (0) | 2024.03.13 |
리스트 ( 컬렉션 타입 ) (0) | 2024.03.13 |