这个for循环是如何工作的?

2024-04-19 22:01:03 发布

您现在位置:Python中文网/ 问答频道 /正文

请让我知道这个for循环是如何工作的。你知道吗

b= [4,5,6]
for b[-1] in b:
   print(b[-1])

此代码段的输出如下:-

4
5
5

我用python2.7检查过了


Tags: infor代码段print
2条回答

您可以在打印整个b列表时理解它:

b= [4,5,6]
for b[-1] in b:
    print(b)
    print(b[-1])

输出

[4, 5, 4]  # first iteration, you set last element(6) with first element(4) [4,5,6] -> [4,5,4]
4
[4, 5, 5]  # second iteration, you set last element(4) with element(5), [4,5,4] -> [4,5,5]
5
[4, 5, 5]  # last iteration, you set last element(5) with element(5), no change
5

所以基本上每一次迭代你的最后一个元素都会成为你迭代的元素。你知道吗

每次迭代,b的元素i被选取。它属于b[-1](b的最后一个元素)并打印出来。因此,每一步,b的最后一个元素(循环之前的6个元素)被赋予第i个元素的值。你知道吗

最后,在最后一次迭代中,读取第i个值,读取的值是迭代之前写入的值(即5)。你知道吗

在每一步都将代码修改为打印b,这样就很明显:

b = [4,5,6]
for b[-1] in b:
    print(b[-1])
    print(b)

(现实生活中不要做这种事。)

相关问题 更多 >