https://www.python.org/static/community_logos/python-logo-inkscape.svg

 

 

 * set은 순서를 보장하지 않는다. 

 

 Set(집합)의 원소는 중복되지 않음! 

  → 중복 제거를 쉽게 할 수 있다.

set1 = set([1, 2, 2, 3, 3, 3, 4, 4, 4, 4])
print(set1) # {1, 2, 3, 4}

 

 

 

 1) 원소 추가 (add) - 하나의 값만 추가 가능 

set1 = set([1, 2])
set1.add(3)
set1.add('abc')
set1.add(('a', 'b', 'c'))
print(set1) # {'abc', 1, 2, 3, ('a', 'b', 'c')}

 

 2) 여러 개의 원소 추가 (update) - [리스트]나 {set}으로 추가 

* 중복된 값이면 중복이 제거됨

set1 = {1, 2, 3}
set1.update([2])
print(set1) # {1, 2, 3}
set1.update([4, 5, 6])
print(set1) # {1, 2, 3, 4, 5, 6}
set1.update({7, 8})
print(set1) # {1, 2, 3, 4, 5, 6, 7, 8}
set1.update({3, 3, 3, 'a'})
print(set1) # {1, 2, 3, 4, 5, 6, 7, 8, 'a'}

 

 3) 원소 제거 (remove, discard) 

* 차이: set에 원소가 없는 경우 KeyError 발생 여부

set1 = {1, 2, 3}
set1.remove(2)
print(set1) # {1, 3}
set1.remove(2) # KeyError
set1.discard(2)
print(set1) # {1, 3}

 

 4) 연산자 (합집합 |, 교집합 &, 차집합 -, 대칭차집합 ^) 

* 대칭차집합 = 합집합 - 교집합

a = {1, 2, 3}
b = {3, 4, 5}
print(a|b) # {1, 2, 3, 4, 5}
print(a&b) # {3}
print(a-b) # {1, 2}
print(a^b) # {1, 2, 4, 5}

a.union(b), a.intersection(b), a.difference(b), a.symmetric_difference(b)로도 연산 가능!

 

 

 

참고: aigong.tistory.com/30

 

Python 내장 함수 : set 함수 사용하기 - 아이공

Python 내장 함수 : set 함수 사용하기 - 아이공 설명에 앞서 정제된 표현이 되어있는 아래 2개의 사이트를 방문하시는 것을 추천드립니다. 특히 1번이 아주 자세히 설명되어 있습니다. 최대한 친절

aigong.tistory.com

 

'Python' 카테고리의 다른 글

[Python] python 내장 함수 filter  (0) 2021.01.19
[Python] python split(문자열 분리하기)  (0) 2021.01.19

+ Recent posts