본문 바로가기

프로그래밍/[Python] 파이썬

[Python] 파이썬 세트 타입 삭제 Remove 와 Discard 차이점은?

by GenieIT* 2024. 9. 2.

728x90
반응형
728x90
반응형

 

파이썬에는 원하는 세트 타입 요소 삭제를 위해 remove와 discard 메소드가 존재합니다.

두가지 메소드의 차이를 정확하게 알고 있어야 파이썬 프로그래밍을 할 때 에러를 줄일 수 있습니다.

 

 

1. 파이썬 Remove 메서드와 Discard 메서드의 차이점

remove 메서드와 discard 메서드의 차이점은 제거하려는 세트 타입 요소가 존재하는 경우와 그렇지 못한 경우에 에러를 반환하는 차이이다.

# discard 메서드 사용하는 경우
se = {'a', 'b', 'c', 'd'}

se.discard('a')
se.discard('a')

print(se) # {'c', 'b', 'd'}
# remove 메서드 활용하는 경우
se = {'a', 'b', 'c', 'd'}

se.remove('a')
se.remove('a')

print(se)

---------------------------------------------------------------------------
KeyError                                  Traceback (most recent call last)
Cell In[43], line 4
      1 se = {'a', 'b', 'c', 'd'}
      3 se.remove('a')
----> 4 se.remove('a')
      6 print(se)

KeyError: 'a'

 

 

remove() 메서드를 에러 없이 활용하려면 요소가 존재하는지 여부 파악을 하면서 사용해야 한다.

se = {'a', 'b', 'c', 'd'}

removeEl = 'a'

if removeEl in se :
    se.remove(removeEl)

print(se) # {'c', 'b', 'd'}

 

 

 

728x90
반응형