[PYTHON] 파이썬에서리스트를 비우는 방법?
PYTHON파이썬에서리스트를 비우는 방법?
이런 식으로 목록을 비우는 것이 "더러운"것처럼 보입니다.
while len(alist) > 0 : alist.pop()
그렇게하기위한 명확한 방법이 있습니까?
해결법
-
==============================
1.실제로 목록에서 내용을 제거하지만 이전 레이블을 새로운 빈 목록으로 대체하지는 않습니다.
실제로 목록에서 내용을 제거하지만 이전 레이블을 새로운 빈 목록으로 대체하지는 않습니다.
del lst[:]
다음은 그 예입니다.
lst1 = [1, 2, 3] lst2 = lst1 del lst1[:] print(lst2)
완성을 위해 슬라이스 지정은 동일한 효과를냅니다.
lst[:] = []
또한 파트를 동시에 교체하면서 목록의 일부를 축소하는 데 사용할 수도 있습니다 (단, 이는 문제의 범위를 벗어납니다).
lst = []을하는 것은 목록을 비우지 않고 단지 새로운 객체를 생성하여 변수 lst에 바인드하지만 이전 목록은 여전히 같은 요소를 가지며 다른 변수 바인딩이 있다면 효과가 분명해진다는 점에 유의하십시오.
-
==============================
2.Python 3.3 이상을 사용하고 있다면, dict, set, deque 및 다른 변경 가능한 컨테이너 유형의 clear ()와 병렬 인 list의 clear () 메소드를 사용할 수 있습니다.
Python 3.3 이상을 사용하고 있다면, dict, set, deque 및 다른 변경 가능한 컨테이너 유형의 clear ()와 병렬 인 list의 clear () 메소드를 사용할 수 있습니다.
alist.clear() # removes all items from alist (equivalent to del alist[:])
연결된 페이지마다 alist * = 0을 사용하여 동일한 결과를 얻을 수도 있습니다.
-
==============================
3.너는 시도 할 수 있었다 :
너는 시도 할 수 있었다 :
alist[:] = []
즉, 목록 [] ([0])의 목록에서 스플 라이스 (시작부터 끝까지의 모든 인덱스)
[:]는 슬라이스 연산자입니다. 자세한 내용은이 질문을 참조하십시오.
-
==============================
4.python 2.5.2에서는 del l [:]이 1.1 [us]만큼 l [:] = []보다 약간 느립니다.
python 2.5.2에서는 del l [:]이 1.1 [us]만큼 l [:] = []보다 약간 느립니다.
$ python -mtimeit "l=list(range(1000))" "b=l[:];del b[:]" 10000 loops, best of 3: 29.8 usec per loop $ python -mtimeit "l=list(range(1000))" "b=l[:];b[:] = []" 10000 loops, best of 3: 28.7 usec per loop $ python -V Python 2.5.2
-
==============================
5.
lst *= 0
~와 같은 효과가있다.
lst[:] = []
좀 더 간단하고 기억하기 쉽습니다. 그 외에는 말할 것도별로 없다.
효율성은 거의 같다.
-
==============================
6.
list = []
목록을 빈 목록으로 재설정합니다.
일반적으로 목록 객체의 생성자 인 list와 같이 예약 된 함수 이름을 음영 처리해서는 안됩니다. 예를 들어 lst 또는 list_를 대신 사용할 수 있습니다.
-
==============================
7.상황에 따라 사용할 수있는 또 다른 간단한 코드는 다음과 같습니다.
상황에 따라 사용할 수있는 또 다른 간단한 코드는 다음과 같습니다.
index=len(list)-1 while index>=0: del list[index] index-=1
목록의 길이에서 색인을 시작하고 역순으로 0에서 색인으로 이동해야합니다. 그러면 목록의 길이와 동일한 색인으로 끝나기 때문에 앞으로 반으로 줄일 수 있습니다.
또한, while 행에 "크거나 같음"기호가 있는지 확인하십시오. 이것을 생략하면 목록 [0]이 남게됩니다.
from https://stackoverflow.com/questions/1400608/how-to-empty-a-list-in-python by cc-by-sa and MIT license
'PYTHON' 카테고리의 다른 글
[PYTHON] pg_config 실행 파일을 찾을 수 없습니다. (0) | 2018.10.16 |
---|---|
[PYTHON] 파이썬 소스 코드에서 UML 다이어그램을 생성하는 가장 좋은 방법은 무엇입니까? [닫은] (0) | 2018.10.16 |
[PYTHON] Windows에서 pip 설치 액세스가 거부되었습니다. (0) | 2018.10.16 |
[PYTHON] 파이썬에서의 C와 같은 구조 (0) | 2018.10.16 |
[PYTHON] Python`x가 None이 아닌 경우`또는`x가 None이 아닌 경우`? (0) | 2018.10.16 |