對python list 遍歷刪除的正確方法詳解

2022-09-26 07:03:11 字數 704 閱讀 7280

在遍歷list的時候,刪mkqlsgopku除符合條件的資料,可是總是報異常,**如下:

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

print(num_list)

for i in range(len(num_list)):

if num_list[i] == 2:

num_list.pop(i)

else:

print(num_list[i])

print(num_list)

原因是在刪除list中的元素後,list的實際長度變小了,但是迴圈次數沒有減少,依然按照原來list的長度進行遍歷,所以會造成索引溢位。

解決方案:倒序迴圈刪除

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

print(num_list)

for i in range(len(num_list)-1, -1, -1): # for i in程式設計客棧 range(0, num_list.__len__())[::-1]

if num_list[i]www.cppcns.com == 2:

num_list.pop(i)程式設計客棧

else:

print(num_list[i])

print(num_list)

程式設計客棧

本文標題: 對python list 遍歷刪除的正確方法詳解

本文位址:

python list 刪除元素

以num list 1,2,2,3,4,5 為例。刪除乙個可以確定的元素,一共有三種方法。1.num list.remove 2 會刪除第乙個值為2的元素。2.num list.pop 1 會彈出索引為1的元素,若不傳引數,則彈出最後乙個元素。3.del num list 1 會刪除索引為1的元素。...

python list同步刪除

python list列表遍歷刪除 list demo 1,2,3,4,5,6 for item in list demo list demo.remove item print list demo 結果 2,4,6 沒有完全刪除,但是 python中list列表是可以一邊遍歷,一邊刪除的 解決方法...

Python list 列表的遍歷方法記錄

usr bin python coding utf 8 mylist m1 m2 3 4 5 方法1 for index in range len mylist print mylist index for index in xrange len mylist print mylist index ...