TIL 33 | 세트를 조작해보자

ryan·2020년 8월 16일
0

Python

목록 보기
18/18

세트 조작

세트에 요소를 추가해보자

  • 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'}	# 중복된 문자는 세트에 포함되지 않는다.

세트 표현식에 if 조건문을 사용해보자

  • {식 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'}

세트는 리스트와 딕셔너리보다 사용 빈도가 낮다.

profile
👨🏻‍💻☕️ 🎹🎵 🐰🎶 🛫📷

0개의 댓글