개발/Python

[Python] - Set

Dortmoot 2022. 7. 27. 13:05

Set


set은 수학에서 이야기하는 집합과 비슷합니다.
Not order, unique value
mutable Object

 

1. Syntax

s = set()
s = set([1,3,5,7])
  • similar dictionary, but no key . Only value
  • value is not immutable
s = {"1", 3, 5, (1,3)}

# Error
s = {"1", 3, 5, [1,3]}
s = {"1", 3, 5, {1,3}}
s = {"1", 3, 5, frozenset([1,3,4])}

 

2. Change Element 

k = {100, 105}
# insert value
k.add(50)

# multiple value insert
k.update([3, 4, 5])

# delete element
# if element not exist error
k.remove(3)
# if element not exist not error
k.discard(3)

 

 

Operator


  • | - 합집합 연산자
  • & : 교집합 연산자
  • - : 차집합 연산자
  • ^ : 대칭차집합 연산자(합집합 - 교집합)
# Operator |
a = {1, 2, 3, 4, 5}
b = {3, 4, 5, 6, 7}
c = a | b
> {1, 2, 3, 4, 5, 6, 7}

# Operator &
c = a & b
> {3, 4, 5}

# Operator -
c = a - b
> {1, 2}

# Operator ^
c = a ^ b
> {1, 2, 6, 7}

 

Method


  • issubset : 부분집합 여부 확인
a = {1, 2, 3, 4, 5}
b = {1, 2, 3}
a.issubset(b)
> False
b.issubset(a)
> True
  • isdisjoint : 교집합이 없으면 True, 있으면 False
a = {1, 2, 3}
b = {4, 5, 6}
a.isdisjoint(b)
> True

c = {1, 2, 3}
d = {3, 4, 5}
c.isdisjoint(d)
> False