我有一個非常大的1000+列表,我想從列表中刪除前319個元素。 我試圖從列表中刪除前幾個元素python
for i in range(0,320):
list1.pop(i)
但是,這並不工作,但是當我做list1.pop(0)
單獨它刪除元素 我怎麼能刪除前的319元
我有一個非常大的1000+列表,我想從列表中刪除前319個元素。 我試圖從列表中刪除前幾個元素python
for i in range(0,320):
list1.pop(i)
但是,這並不工作,但是當我做list1.pop(0)
單獨它刪除元素 我怎麼能刪除前的319元
使用del
對切片:
del list1[:319]
這將一次去除元素0 - 318(因此總共319個元素)。
+1你打我幾秒我猜:) –
如果我輸入足夠多的字符來通過最小長度過濾器,我會更快。 –
使用切片語法:
del list1[0:319]
順便說一句,叫list1.pop
反覆不起作用,因爲的項目每個刪除後重新索引。所以,當你刪除第一個項目時,下一個項目(這是第二個項目)成爲第一個項目。如果你真的想在循環中使用pop
,你必須調用list1.pop(0)
319次 - 但這會非常低效。
如果您發現自己希望從列表的開頭刪除東西,最好使用['deque'](http://docs.python.org/3.3/library/collections.html#collections。相反,因爲它不需要在每次刪除時移動值。 – Adam