>>> x = [1,3]
>>> x
[1, 3]
>>> x[0]
1
>>> x[1]
3
>>> x,y = [1,3]
>>> x
1
>>> y
3
>>> x[0]
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
TypeError: 'int' object is not subscriptable
据我了解,列表本身就是一种价值。因此,它可以分配给一个变量。
这在上面的代码中很明显,其中 x = [1,3] 并且 x 返回 [1,3] 的列表值。但是,如果赋值运算符左侧有两个变量,情况就会发生变化。变量右侧的列表不再是值,而是列表的元素是值。
有人会好心解释为什么会这样。提前致谢。
也许我误解了“拆包”是什么。当赋值运算符左侧有多个变量时,规则会改变吗?