爲什麼當我嘗試將目標設置爲數組元素時,解包的行爲會發生變化?Python:解壓縮到數組元素中
>>> 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')。爲什麼?
拆包並沒有改變的行爲,你是做多分配在第二個例子,不拆包 – jamylak 2013-04-18 03:13:43