【发布时间】:2017-07-15 22:38:19
【问题描述】:
非常基本的问题,但我认为我缺少一些我想了解的背景。
假设我们有表达式:
# version 1
a = [x,y,z] = "123"
#version 2
[x,y,z] = "123"
a = [x,y,z]
我知道第一个版本是一个混乱的代码,但我想了解。我一直认为这段代码的结果是一样的。我错了。 第一个“a”的类型是一个字符串,第二个“a”的类型是一个列表。问题是为什么在第一种情况下最右边的值的类型传播到左边?
【问题讨论】:
-
这与
a = b = 1没有太大区别。 a 和 b 都被分配了最右边的值 -
当然我看到等效版本是:a = "123" [x,y,z] = "123" 但是为什么呢?
-
好吧,这很有趣。似乎名称为 a 的变量有某种偏好。
标签: python