Метод append() в Python: что это, синтаксис и примеры кода
Объяснили, как работает append() в Python, разобрали синтаксис, привели несколько примеров кода и сравнили с методом extend().
14К открытий36К показов
Метод append()
применяется к спискам (то есть к list
‘ам) в Python и используется для добавления нового элемента в конец списка. Это одна из самых популярных операций.
Метод append()
— это операция in-place. Это значит, что метод не возвращает новый список. Он используется только для добавления элементов в конец списка.
append()
позволяет расширить список без его пересоздания заново. Обычно метод используется, если программа должна динамически обновлять список.
В этой статье мы расскажем, как работает append()
, разберём его синтаксис, приведём несколько примеров использования и объясним, в чём его отличие от метода extend()
.
- Синтаксис append() в Python
- Добавление новых элементов в список
- Создание списка через цикл с использованием append()
- Добавление вложенных списков
- Добавление элемента только при выполнении условия
- Конкатенация списков с использованием append()
- Отличие append() от extend()
Синтаксис append() в Python
Пример синтаксиса append()
:
В этом примере:
- Создаётся список
my_list
с элементами 1, 2, 3. - Метод
append()
добавляет элемент 4 в конец списка. - Вывод
my_list
показывает, что новый элемент успешно добавлен в конец списка.
Вот, собственно, и всё. Всё очень просто.
Примеры использования метода append()
Конечно, append()
— это не rocket science сам по себе. Гораздо интереснее его применение на практике: от создания вложенных списков до циклического обновления оных.
Рассмотрим четыре примера, в которых append()
выполняет различные задачи.
Добавление новых элементов в список
Как мы знаем, метод append()
добавляет новый элемент в конец списка.
При этом длина списка увеличивается на 1, и новый элемент занимает позицию с индексом, который на единицу больше, чем индекс последнего элемента до добавления.
Создание списка через цикл с использованием append()
С основой разобрались. Теперь посмотрим, как создать обновление списка с несколькими значениями. Не использовать же нам сотню функций для поочередного добавления элементов, в конце концов. Используем старый-добрый цикл.
О том, почему приходится использовать цикл, но нельзя добавить сразу несколько элементов, расскажем чуть позже.
В примере ниже на каждой итерации цикла переменная i
содержит текущее значение из диапазона range(5)
, то есть значения от 0 до 4 (включительно).
Метод append(i)
добавляет текущее значение i
в конец списка numbers
.
Таким образом, при прохождении цикла значения от 0 до 4 добавляются в список numbers, в результате чего создается список [0, 1, 2, 3, 4]
.
В этом примере создается пустой список numbers
с помощью пустых квадратных скобок [].
Затем запускается цикл for
, который перебирает значения от 0 до 4 (5 не включительно) с помощью range(5)
.
На каждой итерации цикла текущее значение i
добавляется в список numbers
с использованием метода append()
.
Добавление вложенных списков
Метод append()
может работать и с вложенными списками, а не только с простыми. В примере ниже метод добавляет новый элемент (вложенный список [5, 6]
) в конец списка nested_list
.
Итак, у нас был список nested_list
, внутри которого уже были два вложенных списка [[1, 2], [3, 4]]
.
Когда мы вызвали метод append([5, 6])
для списка nested_list
:
- Новый вложенный список
[5, 6]
добавился в конец спискаnested_list
. - Вложенный список стал содержать элементы
[1, 2]
,[3, 4]
и[5, 6]
.
Простой список добавляется во вложенный список как отдельный одинарный элемент.
Добавление элемента только при выполнении условия
Вы можете добавить условие для использования append()
. Если условие выполняется или если условия нет, append()
добавляет элемент в конец списка. Всё как обычно.
В этом примере, если temp
больше 25, то метод append()
добавляет элементы в конец списка numbers
. В нашем случае, это 30 и 27.
Конкатенация списков с использованием append()
Когда мы используем append()
с другим списком, происходит не конкатенация (слияние) списков в привычном понимании, а добавление одного списка как элемента в другой список.
Результат этого кода — list1 = [1, 2, 3, [4, 5, 6]]
. Теперь list2
стал элементом последнего элемента списка list1
.
Вы ещё не забыли, что append()
добавляет только один элемент в конец списка? Именно поэтому мы получаем не множество [1, 2, 3, 4, 5, 6]
в итоге выполнения кода. append()
считает, что передаваемый им список [4, 5, 6]
является отдельным одинарным элементом.
Если бы мы хотели выполнить конкатенацию списков в привычном понимании и получить множество [1, 2, 3, 4, 5, 6]
, нам пришлось бы использовать оператор +=
или метод extend()
вместо append()
.
Рассмотрим этот метод ниже.
Отличие append() от extend()
Метод extend()
также используется для добавления элементов в список, но в отличие от append()
, он принимает итерируемый объект (например, другой список) и добавляет его элементы по отдельности. К примеру:
Таким образом, метод extend()
объединяет содержимое двух списков, тогда как метод append()
просто добавляет новый элемент в конец списка.
Дело в том, что append()
добавляет один элемент, в то время как extend()
добавляет все элементы переданного списка поочередно.
14К открытий36К показов