Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/apache-spark/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 3.x 为什么这个代码的输出只有1到121之间的偶数?_Python 3.x - Fatal编程技术网

Python 3.x 为什么这个代码的输出只有1到121之间的偶数?

Python 3.x 为什么这个代码的输出只有1到121之间的偶数?,python-3.x,Python 3.x,它不应该是空的吗?我真的不明白这一点。你通常不想修改你正在迭代的列表,因为你会得到奇怪的结果,就像你遇到的那样 你有一个数字列表,1-121。如果删除第一个,内存中的所有内容都会向下移动,因此2现在处于零位。执行范围2-122,您只能得到奇数 A=list(range(1,121)) for i in A: A.remove(i) print(A) 无效代码,根本不运行。@JohnZwinck当我编辑它时,我犯了一个错误。现在,它应该不会修改您正在迭代的列表。那很糟糕,我知道这很糟糕。

它不应该是空的吗?我真的不明白这一点。

你通常不想修改你正在迭代的列表,因为你会得到奇怪的结果,就像你遇到的那样

你有一个数字列表,1-121。如果删除第一个,内存中的所有内容都会向下移动,因此
2
现在处于零位。执行范围
2-122
,您只能得到奇数

A=list(range(1,121))
for i in A:
    A.remove(i)
print(A)

无效代码,根本不运行。@JohnZwinck当我编辑它时,我犯了一个错误。现在,它应该不会修改您正在迭代的列表。那很糟糕,我知道这很糟糕。但如果你不告诉他为什么,他就不会明白为什么这样不好。美国千禧一代需要知道原因
 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)