python迴圈刪除列表元素常見錯誤與正確方法

2022-03-19 07:45:33 字數 1991 閱讀 9400

# 使用固定長度迴圈pop方法刪除列表元素

num_list_1 = [1, 2, 2, 2, 3]

for i in range(len(num_list_1)):

if num_list_1[i] == 2:

num_list_1.pop(i)

else:

print(num_list_1[i])

print("num_list_1:", num_list_1)

# indexerror: list index out of range

# 正序迴圈遍歷刪除列表元素

# 倒序迴圈遍歷刪除列表元素

# 遍歷拷貝的list,操作原始的list

num_list_4 = [1, 2, 2, 2, 3]

for item in num_list_4[:]:

if item == 2:

num_list_4.remove(item)

else:

print("item", item)

print("num_list_4", num_list_4)

print("after remove op", num_list_4)

# item 1

# num_list_4 [1, 2, 2, 2, 3]

# num_list_4 [1, 2, 2, 3]

# num_list_4 [1, 2, 3]

# num_list_4 [1, 3]

# item 3

# num_list_4 [1, 3]

# after remove op [1, 3]

python迴圈刪除列表元素常見錯誤與正確方法

常見錯誤一 使用固定長度迴圈刪除列表元素 l a b c for i in range len l l.pop i 報錯 valueerror list.remove x x not in list 原因 在刪除list中的元素後,list的實際長度變小了,但是迴圈次數沒有減少,依然按照原來list...

python迴圈刪除列表元素

如果我們用最常用的方法使用for迴圈正向遍歷列表元素進行刪除,結果如下 一 索引遍歷列表迴圈刪除 執行結果報錯 因為for語句中range 方法按照列表a的長度生成了有序整數序列,但在遍歷過程中刪除了列表元素,實際列表長度已發生改變,而遍歷的序列仍是按原始列表的長度遍歷的,導致索引超出範圍 二 直接...

python列表迴圈中刪除元素

遍歷n個元素的列表,每次迴圈時刪除當前元素,那麼要多少次結束迴圈呢。arr 0,1,2,3,4 for x in arr print 本次刪除的元素 x arr.remove x print 當前列表內容 arr print in loop print out loop print arr 結果如下...