刪除List中多個元素,刪不乾淨

2021-09-29 17:30:09 字數 358 閱讀 9199

for迴圈刪除乙個元素是可以的,但是如果刪除多個元素,就會漏掉一些,因為刪除元素後,會重新組織索引,所以

採用倒敘刪除或者結合i--,如下方法一和方法二,採用迭代器測試不可以;

/*第一種方式,基本原理是,每次list刪除元素後,後面的元素都要往前移動一位,就相當於i多加了1,remove後繼續遍歷就會錯過乙個元素,所以就需要**中的i--,抵消remove後,後面元素前移一位的影響*/

for(int i=0; i

第二種方式,按索引從大到小,這樣remove方法的刪除元素導致的後面的元素往前移動一位

對遍歷就沒有影響了

for(int i=list.size()-1; i>-1; i--)

}

Python 中列表刪除元素刪不乾淨的問題

scores 89 45,55 30,78 90,34 87,10 59,100 scores.sort for cj in scores if cj 60 scores.remove cj print scores 30,45,59,78,87,89,90,100 很明顯,上面這種直接刪除的方法並...

遍歷刪除List中的元素

使用iterator的方式可以順利刪除和遍歷 正確方式 public void iteratorremove system.out.println students 使用增強的for迴圈 錯誤方式 在迴圈過程中從list中刪除非基本資料型別以後,繼續迴圈list時會報concurrentmodifi...

刪除list中重複的元素

1.可以用set 2.但是set不能針對元素是list的list。比如 l2 2,3 3,2 2,3 set l2 traceback most recent call last file line 1,in typeerror list objects are unhashable 3.可以使用列...