본문 바로가기
개발 공부/Python

Python - del

by 느림보어른 2021. 8. 16.

list에서 del 사용

del은 인덱스를 사용해서 범위 내의 원소들을 삭제하는 함수이다. 리스트의 원소가 삭제해야할 인덱스 범위 안에 있는지 검사해야하므로 시간복잡도는 O(n)이다.

>>> a = [-1, 1, 66.25, 333, 333, 1234.5]
>>> del a[0]
>>> a
[1, 66.25, 333, 333, 1234.5]
>>> del a[2:4]
>>> a
[1, 66.25, 1234.5]
>>> del a[:]
>>> a
[]

변수를 del

>>> a = 1
>>> b = a
>>> del a
>>> a
Traceback (most recent call last):
  File "<pyshell#75>", line 1, in <module>
    a
NameError: name 'a' is not defined
>>> b
1

위의 코드는 a 변수를 선언하여 1을 저장한 객체를 참조하고 b는 a를 복사하여 똑같은 객체를 참조합니다.

여기서 del a를 실행한 뒤 a를 확인하면 a가 선언되지 않은 변수라고 NameError가 발생합니다. 또 b를 확인하면 정상적으로 1을 반환합니다. 이를 통해 알 수 있는 점은 del을 통해 선언된 변수가 객체를 참조하는 것을 삭제하지만 객체 자체를 삭제하지 않는다는 것을 알 수 있습니다.

참고

https://docs.python.org/3/tutorial/datastructures.html?highlight=del#the-del-statement 

 

5. Data Structures — Python 3.9.6 documentation

5. Data Structures This chapter describes some things you’ve learned about already in more detail, and adds some new things as well. 5.1. More on Lists The list data type has some more methods. Here are all of the methods of list objects: list.append(x)

docs.python.org

 

'개발 공부 > Python' 카테고리의 다른 글

pop(0)와 pop()의 차이  (0) 2021.08.17
len()의 시간 복잡도가 O(1)인 이유  (0) 2021.08.17
Python은 변수를 어떻게 저장하는가?  (0) 2021.08.16