The for
循环使用a[-1]
as a 目标变量,从输入可迭代中分配每个值:
for <target> in <iterable>
The for
循环分配每个值a
列出该目标,a[-1]
。发生这种情况also是同一列表中的最后一个元素。
所以清单changes循环中的每一步:
>>> a = [0, 1, 2, 3]
>>> for a[-1] in a:
... print a
...
[0, 1, 2, 0] # assigned a[0] == 0 to a[-1] (or a[3])
[0, 1, 2, 1] # assigned a[1] == 1 to a[-1]
[0, 1, 2, 2] # assigned a[2] == 2 to a[-1]
[0, 1, 2, 2] # assigned a[3] == 2 (since the previous iteration) to a[-1]
唯一但最后一次迭代分配 puta[2]
into a[3]
(or a[-2]
into a[-1]
),这就是为什么当最后一次迭代发生时,你会看到2
again.
See the for循环语法;它需要一个通用的目标列表对于分配目标,就像赋值语句。您不仅可以在作业中使用简单的名称,也不必在作业中使用简单的名称。for
loop.