因此,在测验中,我提出了执行该代码块会产生什么结果的问题(下图)。
a = [0, 1, 2, 3]
for a[0] in a:
print(a[0])
Run Code Online (Sandbox Code Playgroud)
我选择了错误,但令我惊讶的是,它实际上有效并且能够打印列表中的所有元素。但如何呢?
首先,获取变量的元素(通常是 i)正在隐藏实际变量,除此之外我们正在获取数字内的第一个元素,那么它是如何工作的。
小智 -2
a[0] 是 a 的类型,因此它可用于迭代数组,但正如您在 a[0] 中分配值一样,它的值将更改为数组的最后一个元素。
a = [0,1,2,3]
for a[0] in a:
print(a[0]
Run Code Online (Sandbox Code Playgroud)
将导致:
0
1
2
3
Run Code Online (Sandbox Code Playgroud)
但现在打印 a 将为您提供修改后的数组:
print(a)
[3, 1, 2, 3]
Run Code Online (Sandbox Code Playgroud)