首页 > 解决方案 > 以下简单 Python 列表程序的奇怪输出

问题描述

看到以下 Python 程序的输出后,我有点困惑:

a = [0,1,2,3]

for a[-1] in a:

    print(a[-1])

输出:

0

1

2

2

在这里,我采用了一个列表[0,1,2,3],它给出了output: 0 1 2 2但我预计输出将是3 3 3 3因为 a[-1] 访问列表中的数字 3。请有人帮我清除我的疑问。

标签: pythonpython-3.xlist

解决方案


对于每个条目,您正在分配a[-1]最后一个条目的值并打印它。当您到达最后一个条目时,它具有倒数第二个条目的值,因此 2 出现两次。

因此,您首先将值设置a[3]0并输出,然后将值设置a[3]为 1 并输出,等等。

您可以通过在循环完成后打印列表来验证这一点:

>>> a
[0, 1, 2, 2]

推荐阅读