본문 바로가기

Programming/Phython

[파이썬] 7. 집합

반응형
>>> s1 = set([1,2,3])

>>> s1
{1, 2, 3}

>>> s2 = set("Hello")

>>> s2
{'e', 'H', 'l', 'o'}

집합 자료형의 생성

 

s = set()

비어 있는 집합 자료형

 

 

집합 자료형의 특징

  1. 중복을 허용하지 않는다
  2. 순서가 없다.

 

리스트와 튜플은 순서가 있어서 인덱싱을 통해 자료형의 값을 얻을 수 있다

하지만 집합과 딕셔너리는 순서가 없기 때문에 인덱싱으로 값을 얻을 수 없다.

 

집합에 저장된 값을 인덱싱으로 접근하는 방법

>>> s1 = set([1,2,3])
>>> l1 = list(s1)

>>> l1
[1, 2, 3]

>>> l1[0]
1

>>> t1 = tuple(s1)

>>> t1
(1, 2, 3)

>>> t1[0]
1

리스트나 튜플로 변환한 후 인덱싱으로 접근한다.

set의 중복을 허용하지 않는 특징으로 중복을 제거하기 위한 필터 역할로 사용하기도 한다.

 

교집합, 합집합, 차집합

>>> s1 & s2
{4, 5, 6}

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


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

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


>>> s1 - s2
{1, 2, 3}
>>> s2 - s1
{8, 9, 7}

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

 

집합 함수

1. 값 1개 추가하기 (add)

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

>>> s1
{1, 2, 3, 4}

2. 값 여러 개 추가하기 (update)

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

>>> s1
{1, 2, 3, 4, 5, 6}

3. 특정 값 제거하기 (remove)

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

>>> s1
{1, 3}
반응형

'Programming > Phython' 카테고리의 다른 글

[파이썬] 9. 변수  (0) 2021.02.12
[파이썬] 8. 불  (0) 2021.02.12
[파이썬] 6. 딕셔너리  (0) 2021.02.11
[파이썬] 5. 튜플  (0) 2021.02.11
[파이썬] 4. 리스트  (0) 2021.02.11