본문 바로가기

Programming/Python

[Python] set(집합) 자료형 정리

1. 파이썬 set(집합)

집합에 관련된 것을 처리하기위해 만들어진 자료형

순서가 없음 - 인덱싱 불가능

중복을 허용하지 않음 (고유한 값을 가짐)

mutable(=값이 변하는) 객체

 

s1 = set([1,2,3])
print(s1)

s2 = set("hello")

# {1,2,3}
# {'o', 'h', 'l', 'e'}

 

만약 set 자료형에 저장된 값을 인덱싱으로 접근하려면

리스트 또는 튜플로 변환 후 접근해야함

 

s1 = set([1,2,3])

list1 = list(s1)
print(list1)
print(list1[0])

# [1,2,3]
# 1

2. 파이썬 set(집합), 교집합/합집합/차집합

s1 = set([1, 2, 3, 4, 5, 6])

s2 = set([4, 5, 6, 7, 8, 9])

1 ) 교집합 ( & 또는 intersection( ) 이용 )

s3 = s1 & s2
print(s3) 
# {4, 5, 6}

s4 = s1.intersection(s2)
print(s2)
# {4, 5, 6}

2 ) 합집합 ( | 또는 union( ) 이용 )

s3 = s1 | s2
print(s3)
# {1, 2, 3, 4, 5, 6, 7, 8, 9}

s4 = s1.union(s2)
print(s4)
# {1, 2, 3, 4, 5, 6, 7, 8, 9}

3 ) 차집합 ( - 또는 difference( ) 이용 )

s3 = s1 - s2
print(s3)
# {1, 2, 3}

s4. = s1.difference(s2)
print(s4)
# {1, 2, 3}

3. set 자료형 관련 함수

1 ) 값 1개 추가 ( add ) 

- 만들어진 set 자료형에 값 추가 가능

 

s1 = set([1,2,3])
s1.add(4)
print(s1)
# {1, 2, 3, 4}

2 ) 값 여러개 추가 ( update ) 

s1 = set([1,2,3])
s1.update([4,5,6])
print(s1)
# {1, 2, 3, 4, 5, 6}

3 ) 특정 값 제거 ( remove ) 

s1 = set([1,2,3])
s1.remove(2)
print(s1)
# {1, 3}