python剔除一個數組中不滿足條件的數字並保持其他數字不變


比如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] 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM