• 카테고리

    질문 & 답변
  • 세부 분야

    프로그래밍 언어

  • 해결 여부

    미해결

remove()와 discard()

21.01.20 16:25 작성 조회수 113

3

둘 다 원소를 삭제하는 메소드지만, discard()를 사용하는 게 더 좋다고 말씀하셨는데,

예외가 발생되지 않는 메소드를 사용하는 것이 더 좋은 것인가요 ?

답변 2

·

답변을 작성해보세요.

5

PARK JUNYEONG님의 프로필

PARK JUNYEONG

2021.01.20

강의 내용 중

"소프트웨어에서 실수로 또는 예기치 못한 값을 입력받음으로 인해서 어떤 에러가 발생하는 것 --> 예외"라고 표현하였습니다.

  • remove() 메소드는 집합 안에 있는 요소(Element)가 없으면 예외를 발생시킵니다(KeyError)
  • discard() 메소드는 집합 안에 요소(Element)가 있든 없든 (있으면 삭제하고, 없으면 통과) 예외를 발생하지 않고 Pass

지금은 작은 거라 별 신경을 안 쓰는데 Ji Hey Lee님이 프로젝트나 수백줄, 수만줄 코드를 작성한다고 가정을 하면

무시하고 넘어가도 되는 예외 때문에 진도가 안나갈 수 있습니다. 그럴 때 사용하면 좋아요!

-----------------------------------------------------------------

요약하면

  • remove()메소드는 없는 요소값을 삭제하려고하면 KeyError
  • discard()메소드는 요소가 없어도 오류를 내지 않음 --> 따로 확인을 할 필요가 없어 편리함

따라서, 예외가 발생되지 않는 메소드를 사용하는 것이 더 좋은 거죠!

-----------------------------------------------------------------

도움이 되었으면 우측하단 또는 좌측하단에 하트 한번만 눌러주세요 :)

4

네 맞습니다.

항상 빈(Empty) 자료구조에 대해서 예외를 생각하면서 코딩하는 것이 좋아요~