Список: изменение и перебор
Уроки курсаСписок: изменение и перебор
В прошлом уроке список уже был создан, и мы научились обращаться к его элементам по индексу и срезам. Теперь переходим к изменению: начнём с добавления новых элементов.
Добавление элементов: append и insert
Список в Python — изменяемая структура: элементы можно добавлять, удалять и переставлять прямо в том же объекте, без создания нового. Два основных метода для добавления — append() и insert().
append() — самый простой случай: добавляет один элемент в конец.
tasks = ["купить хлеб", "позвонить врачу"]
tasks.append("сделать зарядку")
print(tasks)
# ['купить хлеб', 'позвонить врачу', 'сделать зарядку']
Длина списка после вызова увеличивается на 1. Метод изменяет список на месте и возвращает None — это значит, что писать tasks = tasks.append(...) бессмысленно: переменная станет None.
insert() нужен, когда элемент надо поместить не в конец, а в конкретную позицию. Синтаксис: lst.insert(i, element), где i — индекс, на котором окажется новый элемент.
tasks = ["купить хлеб", "позвонить врачу", "сделать зарядку"]
tasks.insert(1, "выпить кофе")
print(tasks)
# ['купить хлеб', 'выпить кофе', 'позвонить врачу', 'сделать зарядку']
Все элементы начиная с позиции 1 сдвигаются вправо, освобождая место. Элемент с индексом 1 до вставки ("позвонить врачу") теперь стоит под индексом 2.
Если передать индекс, равный длине списка или больший, Python просто добавит элемент в конец — ошибки не будет. Отрицательные индексы тоже работают, но поведение может быть неочевидным, поэтому для добавления в конец проще использовать append().
Главное отличие между двумя методами:
append()— всегда в конец, один аргумент.insert()— в указанную позицию, два аргумента: индекс и значение.
Оба метода изменяют исходный список и не возвращают ничего полезного.
