“for”循环和迭代

Ert*_*aku 0 python

您能解释一下这背后的逻辑吗?我无法理解它们之间的区别。

  1. a = [0,1,2,3,4]
    for a[0] in a:
        print(a[0])
    
    Run Code Online (Sandbox Code Playgroud)

    输出:

    0
    1
    2
    3
    4
    
    Run Code Online (Sandbox Code Playgroud)
  2. a = [0,1,2,3,4]
    for x in a:
        print(a[0])
    
    Run Code Online (Sandbox Code Playgroud)

    输出:

    0
    0
    0
    0
    0
    
    Run Code Online (Sandbox Code Playgroud)

Kir*_*ser 5

在第一种情况下:

for a[0] in a:
        print(a[0])
Run Code Online (Sandbox Code Playgroud)

对于 中的每个项目a,您将其值存储在 中a[0],然后打印该列表索引的内容。之后,a就会产生价值[4, 1, 2, 3, 4]

现在进入第二个循环:

for x in a:
     print(a[0])
Run Code Online (Sandbox Code Playgroud)

对于 中的每一项a,您将其内容存储在一个名为 的新变量中x,然后忽略该变量。您正在打印的a[0]值始终具有相同的值,因为您没有执行任何操作来更新它。

最常见的循环方式是:

for x in a:
     print(x)
Run Code Online (Sandbox Code Playgroud)