Дата обновления: 21 Февраля 2024
19.06.2023
13599
5 мин
author-avatar
Настя Воронова

Функции append() и extend() в Python: как добавить элементы в список

Знание функций языка упрощает процесс работы над кодом. Мы решили рассказать о методах append() и extend() в Python, которые помогают добавлять новые элементы в готовый список или объединить несколько объектов. Вы узнаете, что делает append в Python, зачем нужен метод extend и в чём разница этих функций.  Подробнее об этом также рассказывают на курсе «Бекенд-разработчик на Python» от SF Education.

Женские руки на клавиатуре

Объединение списков при помощи оператора +

Перед тем, как разобрать работу методов append и extend, рассмотрим, как происходит объединение двух списков с помощью оператора +. Допустим, у вас есть два списка — list и list23, которые нужно соединить в один. При их объединении элементы одного списка не будут добавляться к элементам другого. Вы получите новый список, состоящий из содержимого list и list23, а изначальные данные остаются в сохранённом виде. 

Методы списков append() и extend() нужно использовать в том случае, когда необходимо расширить уже существующий список, а не создавать новый. Теперь подробнее о том, как это сделать.

Метод append в Python

Функция или метод append() в Питоне относится к методам списка, которых всего 11. Он помогает добавлять объект в конец списка. Как и другие методы, вызвать append можно через оператор *точка*. Особенность элемента в том, что с помощью него можно принять только один аргумент item и добавить его в конец списка. Параметр бывает разным — строка, число или словарь (dict, dictionary).

Использование метода append() в Python

В качестве примера рассмотрим список *d*, в который нужно добавить строку.

Изначально он выглядит так: 

d = [‘flow’, ‘low’, ‘lot’]

Чтобы добавить ещё одну строку ‘sun’, нужно передать её в качестве аргумента append(). Как мы писали выше, вызывать его можно через оператор *точка*. Выглядит это так:

d.append(‘sun’)

print(d)

[‘flow’, ‘low, ‘lot’, ‘sun’]

Строка ‘sun’ появилась в конце списка: значит всё сделано верно. Но что будет, если добавить ещё один список, в котором три строки?

b = [‘cat’, ‘pain’]

d.append(b)

print(d)

[‘flow’, ‘low, ‘lot’, ‘sun’ [‘cat’, ‘pain’]]

Вы видите, что в списке d новый список b присоединился в качестве вложения. Добавить элементы отдельно при помощи append не получится — метод принимает только один аргумент. Этим он и отличается от extend, речь о котором пойдёт ниже. Дело в том, что extend помогает включить данные сразу нескольких элементов.

Новичкам в веб-разработке рекомендуем бесплатный курс «Веб-разработчик: с нуля до первого проекта». Вы узнаете, как устроена frontend-разработка, создадите свой первый сайт и выложите его на GitHub, как разработчик.

Метод extend в Питоне

Extend также добавляет элементы в конец списка, но в этом случае вам нужно ввести итерируемую последовательность (кортеж, список, строка и другое), где каждый элемент потом станет отдельной частью списка. Плюсом вы можете сочетать несколько различных видов элементов, например, объединить строки со списками.

Вернёмся к предыдущему примеру и списку:

d = [‘flow’, ‘low’, ‘lot’].

Нам необходимо соединить его с последовательностью b = [‘rain’, ‘man’]. Вот как это будет выглядеть:

b = [‘rain’, ‘man’].

d.extend(b)

print(d)

[‘flow’, ‘low’, ‘lot’, ‘rain’, ‘man’]

Каждый из элементов b по отдельности добавился к d. Вы также можете добавить и другие итерируемые объекты — кортежи, строки.

f = (‘more’, ‘feel’)

d.extend(f)

print(d)

[‘flow’, ‘low’, ‘lot’, ‘rain’, ‘man’,’more’, ‘feel’]

g= ‘love’

d.extend(g)

print(d)

[‘flow’, ‘low’, ‘lot’, ‘rain’, ‘man’,’more’, ‘feel’, ‘l’, ‘o’, ‘v’, ‘e’]

Обратите внимание, что строки в extend() становятся списками символов и добавляются посимвольно — ‘love’ превратилось в ‘l’, ‘o’, ‘v’, ‘e’. Важно, что передать в extend не итерируемый объект, например, число не получится. Python выдаст ошибку — TypeError. Итерируемый объект — это объект, который можно перебрать в цикле и получить доступ к отдельному элементу объекта.

Вы только начали изучать программирование на Python или уже давно работаете в сфере IT? На сайте tutortop найдутся курсы как для новичков, так и для профессионалов с опытом. Собрали лучшие курсы: 

Самое важное 

  1. С помощью метода append(row) в Python можно добавить один элемент в конец списка. Это может быть число, строка, другой список. 
  2. Существует схожий по функционалу метод extend(). Он также подходит для расширения списка, но в качестве параметров использует только итерируемые объекты — список, кортеж, строка. Подходящий вариант, когда нужно соединить несколько разных объектов, например, добавить к строкам списки и наоборот.
  3. Для добавления элементов также используется оператор +, который работает как стандартный математический оператор. Принцип действия похож на extend — составные части одного списка по очереди добавляются в другой. 
Хочу стать Python-разработчиком!
Специально для вас мы собрали отдельную подборку лучших онлайн-курсов по Python на рынке и сравнили их по цене, продолжительности и отзывам студентов.
Посмотреть подборку