Почему поведение распаковки изменяется, когда я пытаюсь сделать пункт назначения элементом массива?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»). Зачем?
Поведение распаковке изменения оленья кожа, вы делаете несколько назначение во 2-ом примере, не распаковывая – jamylak