다양한 목록 지우기 방법
Python에서 목록을 지우고 싶을 때 이 두 줄 중 하나보다 더 복잡한 작업을 수행해야 하는 이유가 있습니까?
old_list = []
old_list = list()
제가 질문하는 이유는 실행 중인 코드에서 이것을 보았기 때문입니다.
del old_list[ 0:len(old_list) ]
목록을 삭제하면 동일한 목록의 다른 모든 참조에 영향을 미칩니다.
예를 들어, 이 메서드는 다른 참조에는 영향을 주지 않습니다.
>>> a = [1, 2, 3]
>>> b = a
>>> a = []
>>> print(a)
[]
>>> print(b)
[1, 2, 3]
하지만 이건 그렇다.
>>> a = [1, 2, 3]
>>> b = a
>>> del a[:] # equivalent to del a[0:len(a)]
>>> print(a)
[]
>>> print(b)
[]
>>> a is b
True
다음 작업도 가능합니다.
>>> a[:] = []
하고있다alist = []
목록을 클리어하지 않고 빈 목록을 생성하여 변수에 바인드합니다.alist
. 다른 변수 바인딩이 있는 경우 이전 목록은 계속 존재합니다.
실제로 목록을 지우려면 다음 방법 중 하나를 사용할 수 있습니다.
alist.clear() # Python 3.3+, most obvious
del alist[:]
alist[:] = []
alist *= 0 # fastest
자세한 내용은 Mutable Sequence Types 문서 페이지를 참조하십시오.
python 목록을 클리어하는 매우 간단한 방법이 있습니다.del list_name [ : ]를 사용합니다.
예를 들어 다음과 같습니다.
>>> a = [1, 2, 3]
>>> b = a
>>> del a[:]
>>> print a, b
[] []
del이 메모리를 돌려주는 반면 새 목록을 할당하면 gc running.matter가 실행되었을 때만 오래된 목록이 삭제됩니다.
이는 큰 목록에는 유용하지만 작은 목록에는 무시해도 됩니다.
편집: 알고리아스로서는 상관없습니다.
주의:
del old_list[ 0:len(old_list) ]
와 동등하다
del old_list[:]
del list[:]
해당 리스트 변수의 값을 삭제합니다.
del list
변수 자체를 메모리에서 삭제합니다.
목록을 클리어하는 경우는 다음 두 가지가 있습니다.
- 이름을 사용하고 싶다
old_list
코드의 상세 - 오래된 목록을 가능한 한 빨리 수집하여 메모리를 확보하려고 합니다.
1의 경우 할당을 계속합니다.
old_list = [] # or whatever you want it to be equal to
케이스 2의 경우del
스테이트먼트는 목록 객체에 대한 참조 수를 줄입니다.이름old list
포인트는 다음과 같습니다.목록 개체가 이름만 가리키는 경우old_list
에서 참조 카운트는 0이 되고 오브젝트는 가비지 수집을 위해 해방됩니다.
del old_list
목록을 지우려면 목록이 더 이상 필요하지 않습니다.이 경우 간단한 del 방식으로 목록 전체를 삭제할 수 있습니다.
a = [1, 3, 5, 6]
del a # This will entirely delete a(the list).
하지만 만약 다시 필요할 경우 다시 초기화할 수 있습니다.또는 단순히 다음 방법으로 요소를 제거할 수 있습니다.
del a[:]
정상적으로 동작하는 또 다른 솔루션은 빈 목록을 참조 빈 목록으로 작성하는 것입니다.
empt_list = []
예를 들어 리스트가 있습니다.a_list = [1,2,3]
클리어 하려면 , 다음의 조작을 실시합니다.
a_list = list(empt_list)
이렇게 하면a_list
같은 빈 리스트empt_list
.
언급URL : https://stackoverflow.com/questions/850795/different-ways-of-clearing-lists
'source' 카테고리의 다른 글
PHP의 중첩 또는 내부 클래스 (0) | 2022.11.16 |
---|---|
구문 오류:strict 모드에서의 const 사용 (0) | 2022.11.16 |
MySQL collation_server가 특수 문자를 구분합니다. (0) | 2022.11.16 |
PDO 준비 스테이트먼트에서 쿼리를 되돌리기 (0) | 2022.11.16 |
j쿼리 날짜/시간 선택기 (0) | 2022.11.16 |