Language/Python

[Python] 집합

gartenhh 2021. 8. 20. 16:32

집합 자료형 만들기 : set()

s1 = set([1,2,3,4]) #s1 = {1,2,3,4}
s2 = set("AABDFC") #s2 = {'A','B','D','F','C'}
s3 = set() #빈 집합 만들기

집합의 특징

순서 없음 -> 인덱싱 불가

중복 없음

집합 자료형 이용

다음과 같이 두 개의 집합이 있다고 해보자

s1 = set([2,3,5,7,11])
s2 = set([1,2,3,5,8])

교집합 구하기 : &, intersection()

s1 & s2
s1.intersection(s2)
s2.intersection(s1)

위의 계산은 모두 {2,3,5}를 리턴한다.

합집합 구하기 : |, union()

s1|s2
s1.union(s2)
s2.union(s1)

위의 계산은 모두 {1,2,3,5,7,8,11}을 리턴한다

차집합 구하기 : -, difference()

s1 - s2
s1.difference(s2)
#{7,11}

s2 - s1
s2.difference(s1)
#{1,8}

집합 관련 함수

값 1개 추가 : add()

s1.add(13)

값 여러 개 추가 : update()

s2.update([13, 21, 34])

값 제거하기 : remove()

s1.remove(2)