Добавлять и убирать элементы
tray начинается с rice, затем soup. append("bread") ставит bread в конец. rice и soup остаются впереди, в том же порядке. append не вставляет ничего вперёд.
print пишет весь tray, вместе со скобками. bread стоит последним, потому что его добавили последним.
tray = ["rice", "soup"]
tray.append("bread")
print(tray)
На экране rice, soup и bread, bread в конце. Теперь в tray три значения. Новое место — 2, и значение там bread.
pop() снимает последнее значение. Вызов и есть это значение, его можно написать. То, что остаётся, уже стояло впереди. Порядок этих значений не меняется.
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.
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 без значений останавливает программу, потому что нет последнего значения, которое можно снять. Этот пустой случай выше не показан.
Следующая страница меняет значение, которое уже есть в списке. Здесь только добавляют в конец и снимают последнее значение.
После изменения
- Что пишет первая программа, от первого значения до последнего?
- Что пишет print(last) во второй программе?
- После этого pop какие значения ещё в tray?
- Что пишет третья программа, сначала и потом?
Добавили, потом сняли
append("bread") ставит bread в конец rice и soup, поэтому первый экран кончается на bread. pop() снимает этот bread, print(last) пишет bread, и tray снова rice, затем soup. Два append делают длину 3, и место 2 — это bread. pop() у пустого tray останавливает программу.
🧠 Проверьте Свои Знания
Проверьте Свои Знания
Бросьте себе вызов с помощью этой интерактивной викторины и узнайте, насколько хорошо вы понимаете тему
📝 Инструкции
- Внимательно прочитайте каждый вопрос
- Выберите лучший ответ на каждый вопрос
- Вы можете пересдавать тест столько раз, сколько захотите
- Ваш прогресс будет показан вверху