以num_list = [1, 2, 2, 3, 4, 5]
為例。
刪除乙個可以確定的元素,一共有三種方法。
1.num_list.remove(2)
,會刪除第乙個值為2的元素。
2.num_list.pop(1)
,會彈出索引為1的元素,若不傳引數,則彈出最後乙個元素。
3.del num_list[1]
,會刪除索引為1的元素。
4. 還可以使用切片來達到目的,屬於重新構造乙個新的列表。
刪除乙個符合條件的元素。
for i, item
in enumerate(num_list):
ifitem == 2:
num_list.pop(i)
else:
print(item)
結果是:
134
5
再檢視下num_list,發現是[1,2,3,4,5]
,值為2的元素只刪除了第乙個。
原因是當刪除第乙個值為2的元素時,列表往前移動一位,導致第二個2直接被跳過了。
解決辦法是反向,這樣可以避免出現此問題。
for i in range(len(num_list) -1,-1,-1):
if num_list[i] ==2:
num_list.pop(i)
else:
print(num_list[i])
結果是:
543
1
另外,還有方法可達成目的,但是會增加記憶體使用。
foritem
in num_list if
item != 2] 或
def
f():
for item in num_list:
if item != 2:
yield item
list(f())
Python list列表4種刪除元素
1,del 根據索引值刪除元素 del 是 python 中的關鍵字,專門用來執行刪除操作,它不僅可以刪除整個列表,還可以刪除列表中的某些元素。我們已經在 python列表 中講解了如何刪除整個列表,所以本節只講解如何刪除列表元素。www.djznrobot.com del 可以刪除列表中的單個元素...
python list刪除元素時的遺漏問題
列表刪除元素可以使用pop,remove。pop的引數為索引,預設情況下刪除最後乙個元素,remove的引數是元素本身。下面介紹使用remove刪除元素時遇到的乙個 奇怪 問題。list test.py實現刪除乙個列表中所有元素 usr bin python檢視結果 python list test...
python list同步刪除
python list列表遍歷刪除 list demo 1,2,3,4,5,6 for item in list demo list demo.remove item print list demo 結果 2,4,6 沒有完全刪除,但是 python中list列表是可以一邊遍歷,一邊刪除的 解決方法...