A=list(range(1,121))
for i in A:
A.remove(i)
print(A)
不应该是空的吗?我真的不明白这个..
答案 0 :(得分:2)
你通常不想修改你正在迭代的列表,因为你会得到奇怪的结果,比如你正在遇到的。
您有一个数字列表,1-121。你删除了第一个,所有内容都在记忆中向下移动,因此2
现在处于零位。做范围2-122
,你只会获得奇数。
x = [1, 2, 3, 4, 5, 6]
for i in x:
x.remove(i)
#first time through x = [2, 3, 4, 5, 6]
# ^ i is still pointing here though and the next time
# through it will be pointing at 3 (i = 2)