yoooniverse
[PYTHON] set 자료형 기본 문법 본문
s1 = set([1, 2, 3, 4, 5, 6])
s2 = set([4, 5, 6, 7, 8, 9])
집합(set)은 파이썬 2.3부터 지원하기 시작한 자료형으로, 집합에 관련된 것을 쉽게 처리하기 위해 만든 자료형
set의 가장 중요한 특징
- 중복을 허용하지 않는다.
- 순서가 없다(Unordered).
순서가 없기 때문에 인덱싱으로 값을 얻을 수 없다.
set 자료형에 저장된 값을 인덱싱으로 접근하고 싶다면 리스트나 튜플로 자료형 변환을 먼저 수행해야 함.
s1 = set([1, 2, 3, 4, 5, 6])
s2 = set([4, 5, 6, 7, 8, 9])
두 집합을 가지고 set 자료형의 기본 연산을 수행해 보자.
1. 교집합
s1 & s2 #{4, 5, 6}
s1.intersection(s2) #{4, 5, 6}
2. 합집합
s1 | s2 #{1, 2, 3, 4, 5, 6, 7, 8, 9}
s1.union(s2) #{1, 2, 3, 4, 5, 6, 7, 8, 9}
3. 차집합
s1 - s2 #{1, 2, 3}
s2 - s1 #{8, 9, 7}
s1.difference(s2) #{1, 2, 3}
s2.difference(s1) #{8, 9, 7}
여기서 difference에 놓이는 인자에 따라 결과값이 달라짐
A. 값 1개 추가하기 (add)
>>> s1 = set([1, 2, 3])
>>> s1.add(4)
>>> s1
{1, 2, 3, 4}
B. 값 여러 개 추가하기(update)
>>> s1 = set([1, 2, 3])
>>> s1.update([4, 5, 6])
>>> s1
{1, 2, 3, 4, 5, 6}
C. 특정 값 제거하기(remove)
>>> s1 = set([1, 2, 3])
>>> s1.remove(2)
>>> s1
{1, 3}
+) range 함수로 set 만들기
set(range(stop))
set(range(start, stop))
set(range(start, stop, step))
1부터 10까지 원소를 가지는 집합 자료형을 만들고 싶다면
>>>> example = set(1, range(10)+1)
>>>> example
{1, 2, 3, 4, 5, 6, 7, 8, 9, 10}
'PYTHON' 카테고리의 다른 글
[python] try-except 구조 (0) | 2024.06.16 |
---|---|
[python] Mac OS 파이썬 설치 확인 방법 (0) | 2024.05.25 |
[python] enumerate() 파이썬 내장 함수 (0) | 2023.01.28 |
Comments