对于多分配,左侧应该是元组,因此首先是正常的元组分配。
但是为什么列表赋值不会产生错误,它是一个列表而不是元组:
m = ['have', 'fun']
x, y = m
[a, b] = 1, 2
答案 0 :(得分:0)
支持元组和列表语法。请参阅target
definition in the Assignment statements section。
target ::= identifier | "(" [target_list] ")" | "[" [target_list] "]"
[...]
将对象分配给目标列表,可选择括在括号或方括号[...]
中
这里没有创建实际的元组或列表,它只是语法,它回应了列表和元组的语法。在赋值目标中使用元组或列表语法之间没有区别。