这个程序在python中是如何工作的?

这个程序在python中是如何工作的?,python,python-2.7,for-loop,Python,Python 2.7,For Loop,我是Python新手,我被以下代码困住了: numbers = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9] for number in numbers: print numbers 当我运行这个程序时,它会打印数字序列10次。这是怎么发生的? 我还没有给变量number赋值,那么它如何检查该数字是否在范围内?据我所知,变量number有一个空值。为循环定义时: for x in y: 这会自动将iterabley中的每个值依次分配给变量名x 您可以向代码中添加pri

我是Python新手,我被以下代码困住了:

numbers = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
for number in numbers:
    print numbers
当我运行这个程序时,它会打印
数字
序列10次。这是怎么发生的?
我还没有给变量
number
赋值,那么它如何检查该数字是否在范围内?据我所知,变量
number
有一个空值。

循环定义
时:

for x in y:
这会自动将iterable
y
中的每个值依次分配给变量名
x


您可以向代码中添加
print number
,以查看循环的每次迭代都发生了什么。

这里的内容是循环的最基本内容

更一般地说,假设您有一个列表
L
,其中包含元素
L1、L2、L3、L4、L5

在Python中,即:

L = [L1, L2, L3, L4, L5]
现在,如果您循环浏览列表
L
,如下所示:

for element in L:
    print element
变量
元素
(您以前从未分配过!)将自动分配给列表
L
的第一个元素的值,即
L1
。然后,在我的示例中,将打印此值
L1


之后,列表中还有其他元素!因此,程序将更改变量
元素的值
,并将其设置为列表
L
L2
的第二个元素的值。然后它将打印
元素
(因此,
L2
)的值,或者你想用它做什么。

你的打印
数字
而不是
数字

for
为你绑定变量
数字
。它打印数字列表10次,因为你打印的是
数字
,而不是
数字
。请参阅公认的答案,了解其工作原理。