- add(요소)
a = {10, 20, 30, 40}
a.add(50)
print(a)
{40, 10, 50, 20, 30}
- remove(요소)
a.remove(20)
{40, 10, 50, 30} # 만약 요소가 없으면 에러가 발생한다
- discard(요소)
a.discard(30)
{40, 10, 50} # 만약 요소가 없으면 그냥 넘어간
- pop()
a = {10, 20, 30, 40}
a.pop() # 만약에 요소가 없으면 에러를 발생한다
print(a)
{10, 20, 30}
- clear()
a = {10, 20, 30, 40}
a.clear()
print(a)
set()
- len(세트)
a = {10, 20, 30, 40}
print(len(a))
4
a = {10, 20, 30, 40}
b = a
a is b
True # a와 b는 같은 객체가 된다
b.add(50)
print(a)
{10, 20, 30, 40, 50} # b에 요소를 추가하면 세트 a와 b에 모두 반영된다.
- copy 메서드
a = {10, 20, 30, 40}
b = a.copy()
a is b
False # 세트 a와 b는 다른 객체
a == b
True
b.add(50)
print(a)
{10, 20, 30, 40} # 세트 b에 요소를 추가하면 세트 a는 그대로이고,
print(b)
{10, 20, 30, 40, 50} # 세트 b만 바뀐다.
for 변수 in 세트:
반복할 코드
a = {10, 20, 30, 40}
for i in a:
print(i)
10
20
30
40
a = {'m', 'e', 'x', 'i', 'c', 'o'}
for i in a:
print(i)
m # 세트의 요소는 순서가 없어서, 출력할 때마다 순서가 달라진다.
i
x
c
e
o
- {식 for 변수 in 반복가능한객체}
- set(식 for 변수 in 반복가능한객체}
a = {i for i in 'hello'}
print(a)
{'h', 'e', 'l', 'o'} # 중복된 문자는 세트에 포함되지 않는다.
- {식 for 변수 in 세트 if 조건식}
- set(식 for 변수 in 세트 if 조건식)
a = {i for i in 'watermelon' if i not in 'mel'} # 'watermelon'에서 'm', 'e', 'l'을 제외한 문자들로 세트를 생성한한다.
print(a)
{'o', 'r', 't', 'w', 'a', 'n'}
세트는 리스트와 딕셔너리보다 사용 빈도가 낮다.