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
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