튜플(tuple)은 불변(immutable) 자료형이기 때문에 개별 요소를 직접 삭제하는 것은 불가능합니다. 대신 리스트 컴프리헨션(list comprehension)이나 슬라이싱(slicing)을 활용해 원하지 않는 요소를 제외한 새로운 튜플을 만드는 방법을 사용할 수 있습니다.
del 문으로 튜플 전체 삭제하기
튜플 전체를 명시적으로 제거하고 싶다면 del 문을 사용하면 됩니다. del은 객체 자체가 아니라 변수에 대한 참조(reference)를 삭제하며, 삭제된 이후에는 해당 이름으로 더 이상 접근할 수 없습니다.
예제
tup = ('physics', 'chemistry', 1997, 2000)
print(tup)
del(tup)
print("After deleting tup : ")
print(tup)위 코드를 실행하면 다음과 같은 결과가 출력됩니다. 주목할 점은 예외(exception)가 발생한다는 것인데, 이는 del tup 실행 후 해당 튜플이 더 이상 존재하지 않기 때문입니다.
출력 결과
('physics', 'chemistry', 1997, 2000)
After deleting tup :
Traceback (most recent call last):
File "test.py", line 9, in <module>
print(tup)
NameError: name 'tup' is not defined정리
- 튜플은 불변 자료형이므로
remove(),pop()같은 요소 단위 삭제 메서드를 지원하지 않습니다. del문은 튜플의 일부가 아니라 변수 자체(참조)를 제거합니다.- 삭제된 변수에 다시 접근하면
NameError가 발생합니다.