Как присваивание работает со срезом списка Python?

В документе Python говорится, что при разрезании списка возвращается новый список.
Теперь, если возвращается «новый» список, у меня есть следующие сомнения, связанные с «Присвоением срезам»

a = [1, 2, 3]
a[0:2] = [4, 5]
print a

Теперь вывод будет таким:

[4, 5, 3] 
  1. Как что-то, что что-то возвращает, может оказаться в левой части выражения?
  2. Да, я читал документы, и там говорится, что это возможно, теперь, поскольку нарезка списка возвращает «новый» список, почему исходный список изменяется? Я не могу понять механику, стоящую за этим.
81
задан informatik01 3 July 2019 в 21:12
поделиться