본문 바로가기
Programming Language/Python

[python] 파이썬 - Set 사용법과 예제 및 활용

by ggyongi 2021. 3. 27.
반응형

Set은 집합과 관련된 처리를 쉽게 하기 위해 제공되는 자료형이다. 

수학에서 등장하는 집합과 성질이 매우 유사하며, Set은 중복된 값을 허용하지 않고 원소 내에 순서가 없다.

 

형태 :  s = { 1, 2, 5 }

형태가 딕셔너리와 같은 { }을 사용하지만 키값의 유무로 헷갈리지 않을 수 있다.

 

 

<Set 기본 사용법>

## There are a lot of ways to declare set
a = set()
a = set({1,2,3})
a = set([1,2,3])
a = {1,2,3}

## Set can have various types but mutable values are not possible.
a= { 1,2,'car',(1,2)} ## possible
a= { 1,2,'car',[1,2]} ## impossible

## Set doesn't allow duplication.
>>s= {1,2,2,3}
>>s
{1,2,3}

## Set is no order.
>>s = {44,12,-2,43,4,5}
>>for i in S:
>>    print(i)
{4, 5, 43, 12, 44, -2}

## 'in' can be used as list or dictionary.
>> 2 in r
True
>> 3 in r
False

 

<원소 추가 방법>

## add one element
>>s={1,2}
>>s.add(3)
>>s
{1,2,3}

## add some elements
>>s={1,2}
>>s.update([3,4,5])
>>s
{1,2,3,4,5}


## eliminate a element
## 'remove' makes error when the element does not exist, but 'discard' doesn't.
>>s={3,4,5}
>>s.remove(2)  ---> error
>>s.discard(2) ---> possible

 

< Set 연산자 >

## union = 합집합
c = a|b
or
a|=b

## intersection = 교집합
c = a&b
or
a&=b

## difference = 차집합
c = a-b
or
a-=b

## symmetric difference = 대칭차집합
c = a^b
or
a^=b

 

< 그 밖의 메소드 >

## check if it is subset or not
>>a={1,2,3}
>>b={1,2}
a.issubset(b)
False
b.issubset(a)
True

## check if it is superset or not
a.issuperset(b)
True
b.issuperset(a)
False
 

비전공자 네카라 신입 취업 노하우

시행착오 끝에 얻어낸 취업 노하우가 모두 담긴 전자책!

kmong.com

댓글