回答
這實際上從列表中移除的內容,但不與一個新的空單取代舊標籤:
del lst[:]
下面是一個例子:
lst1 = [1, 2, 3]
lst2 = lst1
del lst1[:]
print(lst2)
爲了完整起見,切片分配具有相同的效果:
lst[:] = []
它也可以用來縮小pa同時替換零件(但不在問題的範圍內)。
請注意,如果lst = []
不會清空列表,只是創建一個新對象並將其綁定到變量lst
,但舊列表仍將具有相同的元素,並且如果具有其他變量綁定,則效果將顯而易見。
list = []
會將list
重置爲空列表。
請注意,您通常不應該保留保留的函數名稱,例如list
,它是列表對象的構造函數 - 例如,您可以使用lst
或list_
。
否:這不會修改列表,這只是將一個空列表分配給變量list。如果你期望一個函數修改傳入的列表(例如),這不會做你想要的。 –
這個問題很模糊。 –
不是。問題是「如何清空列表」而不是「如何通過包含列表的變量進行分配」 –
爲什麼不只是'alist = []'? – mitenka
@mitenka不清空這個列表,它用一個不同的列表覆蓋變量'alist',這個列表恰好是空的。如果其他人提及了原始列表,則保持原樣(即,它包含了開頭的任何東西) –
事實證明,使用Python 2.5.2,del l[:]
比使用1.1 usec的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
好點,經過這麼多時間,順便說一句 – DrFalk3n
在Python 2.7.2中,在我的機器上,它們大致相同。它們每個循環的運行時間都是13.5-13.7。 – leetNightshade
您還應該測量python3 -mtimeit「l = list(range(1000))」「b = l [:]」來計算「b [:] = []」和「del b [:]」。做到這一點,大聲笑... – rockdaboot
另一種簡單的代碼,你可以使用(視情況而定)是:
index=len(list)-1
while index>=0:
del list[index]
index-=1
你必須在列表的長度爲起始索引和倒退與指數爲0,前鋒因爲索引等於列表的長度,只會減少一半。
此外,請確保while行有一個「大於或等於」符號。省略它會留下剩餘的列表[0]。
用一個立方體重新發明輪子 –
如果你有Python 3。3,或更好,可以使用的list
的clear()
方法,其是平行於dict
clear()
,set
,deque
和其它可變容器類型:
alist.clear() # removes all items from alist (equivalent to del alist[:])
按照鏈接頁面,同樣也可以用alist *= 0
實現。
- 1. 如何清空C#中的列表?
- 2. 如何在python中清空套接字?
- 3. Python - 列表清單清單列表
- 4. python如何清空或清除zip()
- 5. 如何清空列表<T>?
- 6. 如何創建空列表清單
- 7. 在Python中每循環迭代清空列表?
- 8. 如何在機器人框架中清空檢查列表
- 9. mongodb - 如何清空散列
- 10. 如何清空plupload隊列
- 11. 在Python中使用列表清單
- 12. 如何清空表格
- 13. 如何使用Python刪除或清空BigQuery中的表格
- 14. Android設備列表清空
- 15. 清空列表<string>
- 16. 清空列表的內容
- 17. 如何比較python中的空列表和字符串列表?
- 18. Python:在空列表中創建空列表?
- 19. Python如果列表爲空
- 20. 如何在Python中追加for循環中的空列表
- 21. 如何在python中處理列表中的空集
- 22. 如何在Python中的列表中添加空格?
- 23. Python - 從列表中刪除空列表
- 24. Zipp在Python中通過遍歷列表清單列表
- 25. 空列表中的Python Anagrams
- 26. Python列表中的空值
- 27. 清空循環中的數組列表
- 28. Python複製列表清單
- 29. 如何清除數組列表中的多餘空格Java
- 30. 如何在清空列表時使用CSS旋轉圖標
那麼,爲什麼python字典和集有一個clear()方法,但不是列表? – job
但是,如果有多個對象的引用,它可能是有用的。 –
如果我需要在運行時清除進程上的共享列表並且不需要等待garbaging(或者我錯了嗎?我誤解垃圾回收了嗎?),這可能會很有用。此外,如果我想檢查每個彈出的元素,我可以調試它,而我無法使用切片(或者我錯了)。清除我的清單時,我不需要停止流程執行。 – DrFalk3n