Мелкая копия: неправильная документация Python.org?Python

Программы на Python
Ответить Пред. темаСлед. тема
Anonymous
 Мелкая копия: неправильная документация Python.org?

Сообщение Anonymous »

Официальная документация на Python.org неверна или я что-то неправильно интерпретировал?
Ближе к концу раздела списков документации «Неофициальное введение в Python», можно найти следующее описание копирования списков:

Простое присваивание в Python никогда не копирует данные. Когда вы присваиваете список переменной, переменная ссылается на существующий список. Любые изменения, которые вы вносите в список через одну переменную, будут видны через все остальные переменные, которые ссылаются на нее.:

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

>>> rgb = ["Red", "Green", "Blue"]
>>> rgba = rgb
>>> id(rgb) == id(rgba)  # they reference the same object True
>>> rgba.append("Alph")
>>> rgb ["Red", "Green", "Blue", "Alph"]
Я понимаю, что новый список является ссылкой на исходный список. Но сразу же в документации говорится:

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

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

>>> correct_rgba = rgba[:]
>>> correct_rgba[-1] = "Alpha"

>>> correct_rgba ["Red", "Green", "Blue", "Alpha"]

>>> rgba ["Red", "Green", "Blue", "Alph"]
< /code>
< /blockquote>
Итак, если я правильно понимаю: < /p>
[list]
[*]rgba[:]
— операция среза.
[*]при этом создается неполная копия исходного списка.
[*]он копирует данные из оригинал в новый список, который не является ссылкой на оригинал
[/list]
Но:
  • прочитав о разнице между мелкими и глубокими копиями, я понял, что мелкие копии — это ссылки на оригинал, тогда как глубинные копии — независимые (не имеющие ссылок) копии
  • в приведенном выше примере документация создает глубокая копия, но упоминается как мелкая копия?


Подробнее здесь: https://stackoverflow.com/questions/782 ... tion-wrong
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение
  • Мелкая копия: неправильная документация Python.org?
    Anonymous » » в форуме Python
    0 Ответы
    9 Просмотры
    Последнее сообщение Anonymous
  • Это мелкая копия или глубокая копия? [закрыто]
    Anonymous » » в форуме C++
    0 Ответы
    24 Просмотры
    Последнее сообщение Anonymous
  • Это мелкая копия или глубокая копия? [закрыто]
    Anonymous » » в форуме C++
    0 Ответы
    6 Просмотры
    Последнее сообщение Anonymous
  • На Java что такое мелкая копия?
    Anonymous » » в форуме JAVA
    0 Ответы
    1 Просмотры
    Последнее сообщение Anonymous
  • Мелкая копия хешса
    Anonymous » » в форуме C#
    0 Ответы
    4 Просмотры
    Последнее сообщение Anonymous

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