多变量赋值,使用列表?

时间:2018-02-25 13:13:17

标签: python variable-assignment

对于多分配,左侧应该是元组,因此首先是正常的元组分配。

但是为什么列表赋值不会产生错误,它是一个列表而不是元组:

m = ['have', 'fun']
x, y = m
[a, b] = 1, 2

1 个答案:

答案 0 :(得分:0)

支持元组和列表语法。请参阅target definition in the Assignment statements section

target          ::=  identifier
                     | "(" [target_list] ")"
                     | "[" [target_list] "]"
     

[...]

     

将对象分配给目标列表,可选择括在括号或方括号[...]

这里没有创建实际的元组或列表,它只是语法,它回应了列表和元组的语法。在赋值目标中使用元组或列表语法之间没有区别。