我想了解的是为什么以下代码
for x, y in [1,2], [3,4]:
print(x, y, x + y)
Run Code Online (Sandbox Code Playgroud)
版画
1 2 3
3 4 7
Run Code Online (Sandbox Code Playgroud)
代替
1 3 4
2 4 6
Run Code Online (Sandbox Code Playgroud)
现在,我知道zip可以完成这项工作并且不使用zip来迭代一对列表可以被认为是反模式,但我仍然需要对此默认行为进行解释.
从我的角度来看,上面的代码应该像内置的zip函数一样直观地工作
for (x, y) in zip([1,2], [3,4]):
print(x, y, x + y)
Run Code Online (Sandbox Code Playgroud)
打印
1 3 4
2 4 6
Run Code Online (Sandbox Code Playgroud)
从记忆中我记得很久以前就看过这种技术的解释了(我猜这就是为什么首先想到这个解决方案),但我现在已经完成了搜索,包括整篇Python 3文档的第5部分,但我无法做到找不到这种行为的任何解释,甚至在第5.6节也没有.(循环技术).
这是第四次陷入困境吗?