[파이썬] 집합의 요소 삭제하기 (remove, discard)

파이썬에서 집합(Set)고유한 요소들의 모임을 나타내는 데이터 구조입니다. 집합은 중복된 값을 허용하지 않으며, 요소들의 순서도 보장되지 않습니다. 이러한 특성 덕분에 집합은 많은 유용한 작업을 수행하는 데 매우 유용합니다.

이번 글에서는 파이썬의 집합에서 요소를 삭제하는 방법인 removediscard에 대해 살펴보겠습니다.

remove 메서드

remove 메서드는 집합에서 특정 요소를 제거합니다. 만약 집합에 제거하려는 요소가 존재하지 않는다면, KeyError 예외가 발생합니다.

다음은 remove 메서드를 사용하여 요소를 삭제하는 예제입니다:

my_set = {1, 2, 3, 4, 5}

my_set.remove(3)  # 요소 3을 삭제합니다.

print(my_set)  # 출력: {1, 2, 4, 5}

discard 메서드

discard 메서드는 remove와 동일한 기능을 수행하지만, 삭제하려는 요소가 집합에 없더라도 예외가 발생하지 않습니다.

다음은 discard 메서드를 사용하여 요소를 삭제하는 예제입니다:

my_set = {1, 2, 3, 4, 5}

my_set.discard(3)  # 요소 3을 삭제합니다.

print(my_set)  # 출력: {1, 2, 4, 5}

my_set.discard(10)  # 요소 10을 삭제하려 해도, 집합에 없으므로 아무런 변화가 없습니다.

print(my_set)  # 출력: {1, 2, 4, 5}

discard 메서드는 요소가 존재하는지 여부를 확인하지 않고 삭제를 시도하기 때문에, 코드의 실행 중에 예외가 발생하지 않아야 하는 경우에 유용합니다.

요약

이번 글에서는 파이썬의 집합에서 요소를 삭제하는 두 가지 메서드인 removediscard에 대해 배웠습니다. remove는 요소를 삭제하려는 경우 요소가 집합에 존재해야 하며, 요소가 없는 경우에는 예외가 발생합니다. 반면, discard는 요소의 존재 여부를 확인하지 않고 예외를 발생시키지 않으며 요소를 삭제합니다. 이러한 메서드를 적절히 활용하여 집합에서 요소를 원활하게 삭제할 수 있습니다.