当我尝试将目标设为数组元素时,为什么解包行为会发生变化?
>>> def foobar(): return (1,2)
>>> a,b = foobar()
>>> (a,b)
(1, 2)
>>> a = b = [0, 0] # Make a and b lists
>>> a[0], b[0] = foobar()
>>> (a, b)
([2, 0], [2, 0])
在第一种情况下,我得到了我期望的行为。在第二种情况下,两个赋值都使用返回的元组中的最后一个值(即'2')。为什么?