Python刪除list中多個相同元素


pop和remove方法都可以刪除list中的元素,個人更傾向於使用pop方法。

 

pop方法:刪除過程中還能返回被刪除的值

alist = ['d', 'd', 7, 4, 'd', 'd', 2, 1]
for i in range(len(alist)-1,-1,-1): # 倒序循環,從最后一個元素循環到第一個元素。不能用正序循環,因為正序循環刪除元素后后續的列表的長度和元素下標同時也跟着變了,len(alist)是動態的。
    if alist[i] == 'd':
        alist.pop(i) # 將index=i處的元素刪除並return該元素。如果不想保存這個被刪除的值只要不把alist.pop(i)賦值給變量就好,不影響程序運行。

print(alist) # [7, 4, 2, 1]

 

 

remove方法:

從左往右,刪除首次出現的指定元素

刪除過程不會返回被刪除的值

>>> alist = ['d', 'd', 7, 4, 'd', 'd', 2, 1]
>>> for i in range(len(alist)-1,-1,-1): # 同樣不能用正序循環,for i in range(0,len(alist)), 用了remove()之后,len(alist)是動態的,會產生列表下標越界錯誤
      if alist[i] == 'd':
          alist.remove('d') # 從左往右刪除首次出現的值為‘d'的元素

        
>>> alist
[7, 4, 2, 1]
>>> 
>>> 

 


免責聲明!

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



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