
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 因为删除一个之后 k 加 1 了,但是同时 l 也变化了。python 的 list 只有引用,修改的就是本体。 |