Что на самом деле возвращает операция среза в PythonPython

Программы на Python
Anonymous
Что на самом деле возвращает операция среза в Python

Сообщение Anonymous »

"Все операции среза возвращают новый список, содержащий запрошенные элементы"
Это из руководств по Python.
Но если это так, то почему этот фрагмент код ведет себя следующим образом:

Код: Выделить всё

>>> a = [11, 3, 1999]
>>> a[:] = [9, 78]
>>> a
[9, 78]
  • если нарезка вернула новый список, то почему привязка, которую я выполнил к новому, влияет на исходный? О чем это говорит?
Но я также заметил следующее:

Код: Выделить всё

>>> b = [4, 5, 6]
>>> b[:].append(5)
>>> b
[4, 5, 6]
  • Это показывает, что действительно возвращается новый список. Что на самом деле происходит, когда мы разрезаем список?


Подробнее здесь: https://stackoverflow.com/questions/480 ... -in-python

Вернуться в «Python»