python中對list遍歷的過程中刪除元素

2021-07-31 07:32:46 字數 710 閱讀 3890

使用iterator或索引直接遍歷,然後進行刪除操作會造成list的index溢位和結果錯誤。這是因為當你刪除元素時,游標會進行更新,list的len也會產生變化,導致結果不對。

首先介紹第乙個方法:

num_list = [1, 2, 3, 4, 5]

print(num_list)

for item in num_list[:]:

if item == 2:

num_list.remove(item)

else:

print(item)

print(num_list)

**是直接copy的,意思到了行

主要是使用num_list[:]對源list進行複製,然後在源list進行刪除操作

第二個方法就是逆序遍歷,然後進行刪除操作

num_list = [1, 2, 3, 4, 5]

print(num_list)

for i in range(len(num_list)-1, -1, -1):

if num_list[i] == 2:

num_list.pop(i)

else:

print(num_list[i])

print(num_list)

上面兩種方法可以實現在遍歷list的過程中正確的刪除元素

python 列表list的遍歷

這裡一共介紹,python列表 list 的遍歷方法,包括直接遍歷,下標遍歷,用列舉函式來遍歷 遍歷列表方法1 直接遍歷,這也是最普通的一種 for u in list print u,list.index u print 方法二 遍歷列表方法2 通過下標進行遍歷,range的範圍是從0到len l...

Java中 List的遍歷

對list的遍歷有三種方式 listlist new arraylist list.add new a list.add new a 第一種 for iteratorit list.iterator it.hasnext 這種方式在迴圈 執行過程中會進行資料鎖定,效能稍差,同時,如果你想在迴圈過程中...

對集合List和Map的遍歷

一 對list的遍歷 list lists new arraylist 1通過foreach for object obj list 2把list轉換為陣列,對陣列遍歷 object obj new object list.size list.toarray obj for迴圈遍歷陣列 3itera...