python中range函數與列表中刪除元素


一、range函數使用

  range(1,5)   代表從1到4(不包含5),結果為:1,2,3,4   ,默認步長為1  

  range(1,5,2)   結果為:1, 3  (同樣不包含5) ,步長為2

  range(5,-1,-1)  反向輸出,結果為:5,4,3,2,1,0 ,此時步長為-1,相當於每次減去1

 

二、list列表刪除元素注意事項

  for i in range(0,len(array)-1):

    if array[i]==array[i+1]:

      del array[i+1]

     分析:該方法進行刪除的時候,每次刪除的時候元素就少一個,但是一開始的range(0,len(array)-1)還是按最開始的元素長度去遍歷,最終會報出列表越界的錯誤。

 

  正確方法如下  

  for i in range(len(array)-1,0,-1):

    if array[i]==array[i-1]:

      del array[i-1]

 

  倒序刪除與正序刪除的不同示意圖如下

 總結:列表元素刪除時,是索引大的元素向前靠,所以對於后面的索引元素沒有任何影響,而倒序索引正是從大到小索引,所以刪除當前的元素,對於后面小的未遍歷的索引沒有任何影響。


免責聲明!

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



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