比如nums=[7,1,2,5,1,4], 剔除大於3的數字,剩下的數組應該為[1,2,1]
用remove和pop會改變迭代器,經過實踐,用del從后往前剔除數字比較好
a = [1, 2, 3, 4, 5, 6] for i in range(len(a)-1,-1,-1): if(a[i]>=3): del a[i] print(a)
正好說明一下remove , pop和del區別:
remove 是刪除首個符合條件的元素。並不是刪除特定的索引
a = [0, 2, 2, 3] a.remove(2) a [0, 2, 3]
對於del 來說,它是根據索引(元素所在位置)來刪除的
a = [3, 2, 2, 1] del a[1] [3, 2, 1]
del還可以刪除指定范圍內的值
a = [3,2,2,1] del a[1,3] print a
del還可以刪除整個列表
del a
pop返回的是你彈出的那個數值
a = [4, 3, 5] a.pop(1) 3 a [4, 5]