首页 > 解决方案 > python中的多个赋值

问题描述

我在这里需要一个清楚的解释。为什么以下代码有效?

foo1 = foo1[0] = [0]

好的,我知道作业是从左到右完成的。

python如何理解foo1是一个列表?

顺便说一句,我知道foo1[[...]]的第一个元素就是它本身。

标签: python

解决方案


因为

foo1 = foo1[0] = [0]

相当于

temp = [0]
foo1 = temp 
foo1[0] = temp 

它首先计算表达式,然后从左到右赋值。逐行分析这一行,您将了解发生了什么:-首先创建一个列表temp -然后temp分配列表以foo1使其成为列表(回答您的实际问题)-第三行只是将第一个元素分配给列表本身(因此 [[...]] 在输出中)

更新 2:根据@blhsing 评论将相关问题更改为更相关的讨论:Python Multiple Assignment Statements In One Line


推荐阅读