解决办法, for i in ss[:]: 遍历对象后加一个[:],表示它的副本,这样就能得到你想要的结果了
对比两种效果:
>>> ss = [2,3,6,9,7,1]
>>> for i in ss:
print(ss)
ss.remove(max(ss))
[2, 3, 6, 9, 7, 1]
[2, 3, 6, 7, 1]
[2, 3, 6, 1]
>>> ss
[2, 3, 1]
>>> ss = [2,3,6,9,7,1]
>>> for i in ss[:]:
print(ss)
ss.remove(max(ss))
[2, 3, 6, 9, 7, 1]
[2, 3, 6, 7, 1]
[2, 3, 6, 1]
[2, 3, 1]
[2, 1]
[1]
>>> ss
[]