본문으로 건너뛰기

집합(Set) 내 요소 제거하기

집합(Set) 내 요소 제거하기

set에서 요소를 제거할 때는 remove() 또는 discard() 함수를 사용합니다.


remove()로 요소 제거하기

remove()는 괄호 안의 값으로 set에서 요소를 제거합니다. 괄호 안의 값이 set에 없으면 KeyError를 발생시킵니다.

remove()로 요소 제거
my_set = {1, 2, 3, 4}

my_set.remove(3)

print("my_set:", my_set) # {1, 2, 4}

discard()로 요소 제거하기

discard()로 요소 제거
my_set = {1, 2, 3, 4}

my_set.discard(3)

print("my_set:", my_set) # {1, 2, 4}

my_set.discard(5) # 5가 set에 없어도 아무런 오류가 발생하지 않습니다.

remove(), discard()의 차이점

  • remove(): 요소가 set에 없으면 KeyError를 발생시킵니다.

  • discard(): 요소가 set에 없어도 아무런 오류를 발생시키지 않습니다.

아래와 같이 remove()에서 예외가 발생할 경우, try-except 문으로 예외를 처리할 수 있습니다.

remove()에서 예외 발생 처리
my_set = {1, 2, 3, 4}

try:
my_set.remove(6) # 6이 set에 없으므로 KeyError 발생
except KeyError:
print("요소가 set에 존재하지 않습니다.")