반응형
파이썬의 자료 삭제 명령어 del 사용법
파이썬에서 선언했던 자료를 지울 수 있는 del 명령어에 대하여
리스트, 딕셔너리, 문자열 및 내장 함수를 예시로 기능과 사용법을 살펴보겠습니다.
del 변수 형태의 코드는 자료형에 상관없이 기본적으로 해당 변수의 선언 자체를 무효화시킵니다.
del 사용 case 1 : 리스트
del 명령어의 기본 기능(자료 전체 삭제)을 사용하는 방법인
del list 형태로 리스트의 선언 자체를 무효화(빈 리스트로 만드는 것이 아닙니다.)할 수 있으며
del list[0] 혹은 del list[0:2] 형태처럼 인덱싱 혹은 슬라이싱 위치에 있는
특정 원소들만을 골라서 제거하는 기능도 지원합니다.
list_ex = [1, 3, 5, 7, 9]
# 인덱싱 형태로 리스트의 특정 원소 삭제
del list_ex[0]
print(list_ex) # [3, 5, 7, 9]
# 슬라이싱 형태로 리스트의 원소들 삭제
del list_ex[0:2]
print(list_ex) # [7, 9]
# 리스트 전체 삭제
del list_ex
print(list_ex) # NameError: name 'list_ex' is not defined
del 사용 case 2 : 딕셔너리
del 명령어를 딕셔너리에 적용하는 경우에는 같은 방식으로 자료 전체 삭제를 포함하여
del dict[key]처럼 특정 key를 가지는 원소를 삭제할 수 있습니다.
dict_ex = {"a" : 1, "b" : 2, "c" : 3}
# 딕셔너리 특정 원소 삭제
del dict_ex["b"]
print(dict_ex) # {'a': 1, 'c': 3}
# 딕셔너리 전체 삭제
del dict_ex
print(dict_ex) # NameError: name 'dict_ex' is not defined
반응형
del 사용 case 3 : 문자열
문자열의 경우, 리스트나 딕셔너리 형태와는 달리 일부 원소 삭제 기능을 지원하지 않습니다.
str_ex = "abcde"
# 특정 원소 삭제 시도
del str_ex[0] # TypeError: 'str' object doesn't support item deletion
# 문자열 전체 삭제는 가능
del str_ex
del 사용 case 4 : 내장 함수
print, int, map, type과 같은 내장 함수에 대하여 del을 적용할 수 있습니다.
다만, 이 경우에는 해당 내장 함수 이름의 변수에 다른 값이 덧씌워져 있을 때,
덮어씌워진 값을 제거하고 원래 내장 함수의 기능을 회복시키는 기능을 수행합니다.
print("hello!") # 정상 출력
print = 1 # 다른 값이 덧씌워짐
print("hello!") # TypeError: 'int' object is not callable
del print # del 실행
print("hello!") # 정상 출력(기존 print 함수 기능 회복)
'Python > 파이썬 기초' 카테고리의 다른 글
파이썬 리스트 정렬 함수 sort()와 sorted()의 사용법 정리, 차이 비교 (0) | 2022.05.15 |
---|---|
파이썬 len 함수 총정리 : 자료형별 길이 정의, 시간 복잡도, 클래스 내 __len__ 구현 (2) | 2022.05.05 |
파이썬 텍스트(txt) 파일 읽기 방법 정리(for문, read, readline, readlines) (0) | 2022.05.04 |