알고리즘 스터디

파이썬 기본 문법 <집합>

CleStella 2024. 3. 31. 21:48

집합이란?

중복을 허용하지 않으며, 순서가 없는 자료형이다.

= > 순서가 없기 때문에 인덱싱으로 값을 얻을 수 없다.

집합을 파이썬에서 정의하는 방법

s1 = set([1,2,3])
>>>s1
{1,2,3}
s2 = set("Hello")
s2
{'e','l','o','H'}

위와 같이 set()의 괄호 안에 리스트를 입력하여 만들거나 아래와 같이 문자열을 입력하여 정의한다.

집합의 연산

s1=set([1,2,3,4,5,6])
s2=set([4,5,6,7,8,9])

교집합

s1&s2
>>>{4,5,6}
s1.intersection(s2)
>>>{4,5,6}

'&' 기호를 이용하거나 intersection함수를 이용하여 교집합을 구한다

합집합

s1|s2
>>>{1,2,3,4,5,6,7,8,9}
s1.union(s2)
>>>{1,2,3,4,5,6,7,8,9}

'|'기호를 이용하거나 union함수를 이용하여 합집합을 구한다. 

차집합

s1-s2
>>>{1,2,3}
s1.difference(s2)
>>>{1,2,3}
s2-s1
>>>{8,9,7}
s2.difference(s1)
>>>{8,9,7}

'-'기호를 이용하거나 difference함수를 이용하여 차집합을 구한다.

집합 함수들

값 1개 추가하기(add)

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

값 여러개 추가하기(update)

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

특정 값 제거하기(remove)

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