如 例1.py 想要删除 33 和 44,最后44并没有被删除... 因为当删除33时44立刻占用33的位置,i 当指向原44位置时此时这个位置上的值为55, 所以最后44被漏掉!....
#例1.py
a = [11, 22, 33, 44, 55, 66, 77, 88]
print("刪除前a 列表...")
print(a)
print("-------------------------------")
for i in a:
if i == 33 or i == 44:
a.remove(i)
print("刪除后a 列表...")
print(a)
解決方法
a = [11, 22, 33, 44, 55, 66, 77, 88]
b = []
print("刪除前a 列表...")
print(a)
print("-------------------------------")
for i in a:
if i == 33 or i == 44:
b.append(i)
print(b)#要刪除的數字
for i in b:
a.remove(i)
print("刪除后a 列表...")
print(a)