Загрузка...

Изменение на месте

В plate сначала стоит tea, за ним water. plate[0] = "soup" сажает soup на место 0, и tea оттуда уходит. water остаётся на месте 1. Значений по-прежнему два. В конец ничего не прибавилось, и с конца ничего не ушло.

print пишет значения в том порядке, в каком они стоят, вместе со скобками. soup первое, потому что заменили именно место 0. len(plate) по-прежнему 2. Первая программа не пишет место 1 отдельной строкой. Строка списка уже показывает, что там water.

soup вместо tea

python
plate = ["tea", "water"]
plate[0] = "soup"

print(plate)
print(len(plate))

На экране soup, затем water, затем число 2. Место 1 не сдвинулось. tea в plate больше нет.

same = plate даёт второе имя списку, который у вас уже есть. Второй список не появляется. plate[1] = "soup" встаёт вместо water, а место 0 остаётся tea. Имя same тоже показывает soup на месте 1. same[1] тоже soup, хотя программа пишет весь список, а не это место отдельно.

один список, два имени

python
plate = ["tea", "water"]
same = plate
plate[1] = "soup"

print(plate)
print(same)

Обе строки показывают tea, затем soup. water нет ни под одним именем. Одна замена, один список. Отдельную копию на этой странице вы не собирали.

Пока в plate только tea и water, строка plate[2] = "bread" останавливает программу. Места 2 ещё нет. Замена места не открывает новое место в конце. Этой строки в программах выше нет.

plate = ["soup", "water"] — другой шаг. Так собирается новый список. Прежний остаётся каким был для любого имени, которое всё ещё на него указывает. На этой странице значение меняют внутри списка, который уже есть.

Следующая страница делает отдельную копию, чтобы изменение через одно имя не было видно через другое. Здесь два имени — один список, и вы меняете значение, которое уже в нём лежит.

Два экрана

  1. Что пишет первая программа: список, а потом число?
  2. После этой программы что стоит на месте 1?
  3. Что пишут оба print во второй программе?
  4. Почему plate[2] = "bread" останавливает программу, когда в plate только tea и water?

Длина остаётся 2

В первой программе soup занимает место tea, и длина остаётся 2: на экране soup, затем water, затем 2. water по-прежнему на месте 1. Во второй программе оба имени показывают tea, затем soup, потому что same и plate — один список, а место 0 осталось tea. plate[2] = "bread" останавливает программу: этого места нет, и такая замена его не добавляет.

🧠 Проверьте Свои Знания

Готов к Началу

Проверьте Свои Знания

Бросьте себе вызов с помощью этой интерактивной викторины и узнайте, насколько хорошо вы понимаете тему

❓
5
Вопросы
🎯
70%
Для Прохождения
♾️
∞
Время
🔄
∞
Попытки

📝 Инструкции

  • Внимательно прочитайте каждый вопрос
  • Выберите лучший ответ на каждый вопрос
  • Вы можете пересдавать тест столько раз, сколько захотите
  • Ваш прогресс будет показан вверху