l = [[500, 2], [200, 5], [100, 10], [40, 25]]
for k, v in enumerate(l):
if v[0] - v[1] != 15:
del l[k]
print(l) # [[200, 5], [40, 25]]
为什么这个输出的结果和我想象中的不一样,不是应该只输出 [ [ 40,25 ] ] 吗?
1
h4lbhg1G 2018-01-09 01:53:15 +08:00 1
因为删除一个之后 k 加 1 了,但是同时 l 也变化了。python 的 list 只有引用,修改的就是本体。
|