Загрузка...

Добавлять и убирать элементы

tray начинается с rice, затем soup. append("bread") ставит bread в конец. rice и soup остаются впереди, в том же порядке. append не вставляет ничего вперёд.

print пишет весь tray, вместе со скобками. bread стоит последним, потому что его добавили последним.

bread добавлен в конец

python
tray = ["rice", "soup"]
tray.append("bread")

print(tray)

На экране rice, soup и bread, bread в конце. Теперь в tray три значения. Новое место — 2, и значение там bread.

pop() снимает последнее значение. Вызов и есть это значение, его можно написать. То, что остаётся, уже стояло впереди. Порядок этих значений не меняется.

bread снимается

python
tray = ["rice", "soup", "bread"]
last = tray.pop()

print(last)
print(tray)

На экране bread, затем rice и soup. bread больше нет в tray. last равен bread, потому что pop() только что снял именно это.

Каждый append добавляет в конец таким, какой он в этот момент. Начните с rice, добавьте soup, затем bread. Длина станет 3, и место 2 — это bread.

два добавления, затем место 2

python
tray = ["rice"]
tray.append("soup")
tray.append("bread")

print(len(tray))
print(tray[2])

На экране 3, затем bread. soup был концом одно мгновение, потом концом стал bread. len(tray) считает то, что есть после обоих добавлений.

append удлиняет конец. pop укорачивает его с конца, и вызов — это значение, которое ушло.

📊 Добавить или убрать

Действие Что меняется
append одно значение добавляется в конец
pop последнее значение уходит, и вызов — это это значение

Два места, где легко ошибиться

append("bread") никогда не ставит bread перед rice. Конец — единственное место добавления. pop() у tray без значений останавливает программу, потому что нет последнего значения, которое можно снять. Этот пустой случай выше не показан.

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

После изменения

  1. Что пишет первая программа, от первого значения до последнего?
  2. Что пишет print(last) во второй программе?
  3. После этого pop какие значения ещё в tray?
  4. Что пишет третья программа, сначала и потом?

Добавили, потом сняли

append("bread") ставит bread в конец rice и soup, поэтому первый экран кончается на bread. pop() снимает этот bread, print(last) пишет bread, и tray снова rice, затем soup. Два append делают длину 3, и место 2 — это bread. pop() у пустого tray останавливает программу.

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

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

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

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

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

📝 Инструкции

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