ex exxam.ruPython с нуляШаг 6.12 · Списки
33 / 62На главную
шаг 6.12 · списки

== и is: несколько имён одного значения

Присваивание не копирует список: две переменные могут указывать на один объект.

Переменная в Python — имя, привязанное к объекту. Присваивание list2 = list1 не копирует список: оба имени указывают на один и тот же объект. Поэтому append через list2 изменит и list1.

== сравнивает значения, а is — идентичность объектов. После list2 = list1 оба сравнения истинны; после копирования списки равны по содержимому, но это разные объекты.

list2 = list1.copy() list2.append(4)
  1. Замени list2 = list1 на независимую копию.
  2. Добавь 4 в list2.
  3. Проверь list1, == и is.
Чтобы шаг был засчитан, нажмите «Проверить». «Выполнить» только показывает результат в консоли, но не завершает шаг.

Отлично! Копия независима: list1 остался [1, 2, 3], а списки теперь не равны и не идентичны.

Требования

Сделай list2 копией list1, добавь 4 в копию. Вывод: [1, 2, 3], False, False.

Проверка

Проверка запускает программу с чистого листа и сверяет три строки вывода.

Подсказки Открываются по одной
живая сессия
Консоль общая сессия
Python 3.14 · переменные сохраняются между командами
>>>
Готовлю консоль…
консоль Живая сессия Python