def sub(z):
return z - min(a)
a = input().split()
a = list(map(int,a))
a = list(map(sub, a))
print("JustBeforeLoop",a)
for i in a:
if i == 0:
a.remove(i)
else:
pass
print("Just after loop",a)
输入为:5 4 4 2 2 8
就在循环打印之前:[3, 2, 2, 0, 0, 6]
仅在循环之后打印:[3, 2, 2, 0, 6]
为什么循环没有删除所有的零而不是一个?
通常是这样的代码:
a = [1,2,0,4,5,0]
for i in a:
if i == 0:
a.remove(i)
else:
pass
将输出给出为:[1,2,4,5]
删除所有零。为什么第一个代码不一样?