logo
Ещё

Методы append() и extend() в Python

Работа со списками – одна из ключевых составляющих программирования на Python. Важной ее частью становится добавление новых элементов в список и объединение нескольких списков в один. Наиболее часто задача решается с помощью двух методов – append() и extend(). Рассмотрим основные особенности каждого и отличия между ними.

append() в Python

Метод append() добавляет в список одно значение (обозначается как item). Аргумент оператора ставится последним в существующий list (то есть список). Рассмотрим основные моменты, связанные с практическим использованием оператора.

Синтаксис

Написание кода с использованием append() осуществляется предельно просто. Все основные составляющие результата уже были упомянуты выше. На выходе получается следующее.

list.append(item)

Возвращаемое значение

Характерной особенностью метода выступает отсутствие возвращаемого значения. То есть использование оператора приводит буквально к возвращению объекта None, которым обозначается ничего.

Примеры использования

Чтобы лучше понять порядок использования оператора, целесообразно рассмотреть конкретный пример. Он применяется в отношении списка «а», в состав которого входят три строки.

a = ['car', 'top', 'lot']

Для добавления нового элемента в список используется метод append(). Значение аргумента (в данном случае – row) ставится в скобках. Так как элемент добавляется в «а», названии списка указывается перед оператором и отделяется от него точкой. Итоговый исходный код принимает следующий вид.

a.append('row')

print(a)

['car', 'top', 'lot', 'row']

Если усложнить задачу и добавить в исходный список не один элемент, а другой список (b), состоящий из двух значений (moon и sun). В этом случае программный код станет таким.

b = ['moon', 'sun']

a.append(b)

print(a)

['car', 'top', 'lot', ['moon', 'sun']]

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

extend() в Python

Метод extend() предназначен для добавления в список нескольких новых элементов. Которые размещаются в конце базы данных. Рассмотрим особенности его грамотного применения на практике.

Синтаксис

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

list.append(item)

Возвращаемое значение

Как и для предыдущего оператора, в данном случае речь не идет о возвращении какого-либо значения. То есть оператор возвращает буквально ничего – то есть объект None, который используется для его обозначения.

Примеры использования

Рассмотрим несколько практических примеров. В качестве исходных данных – список «а», который составлен из трех строк: car, top, lot. Добавление к нему еще одного списка (b) с помощью оператора extend() выполняется по аналогии с append().

b = ['dog', 'cat']

a.extend(b)

print(a)

['car', 'top', 'lot', 'dog', 'cat']

Результатом становится добавление обоих элементов второго списка в конец первого, причем по отдельности. Точно таким же образом можно добавить другие итерируемые объекты. Например, кортежи (c) или строки (d). Что дает на выходе следующую картину.

c = ('like', 'mode')

a.extend(c)

print(a)

['car', 'top', 'lot', 'dog', 'cat', 'like', 'mode']

d = 'man'

a.extand(d)

print(a)

['car', 'top', 'lot', 'dog', 'cat', 'like', 'mode', 'm', 'a', 'n']

Важной особенностью оператора extend() становится разложение строк на отдельные символы. Которые затем добавляются в список (в данном примере строка man была разделена на буквы m, a и n).

Использование в качестве аргумента метода extend() не итерируемого объекта, приведет к выдаче сообщения формата TypeError. Например, если попробовать применить оператор к числу, будет сгенерирована ошибка.

a = [1, 2, 3]

a.extand(1)

Traceback (most resent call last):

File “<stdin>”, line 1, in <module>

TypeError: 'int' object is not iterable

Разница между append() и extend()

По большому счету, оба оператора выполняют схожую функцию. Хотя и с рядом существенных отличий. Первое и главное заключается в типе используемых данных. Указанный первым оператор применяется в отношении одного объекта. В качестве которого выступает число, строка или еще один список. Второй метод предусматривает использование так называемых итерируемых объектов. Включая списки, кортежи или строки.

Вторым существенным отличием становится способ добавления. Оператор append() воспринимает аргумент как единый и неделимый объект. Метод extend(), напротив, раскладывает указанное в нем значение на составные элементы, после чего добавляет их в исходный список.

Какие еще элементы можно добавить в список

На практике существует еще два вполне эффективных способа добавления в список новых элементов. Первый предусматривает задействование оператора +. Он очень похож на обычный математические плюс, но фактически работает со списками аналогично методу extend(). Что позволяет, например, добавить в конец списка элементы другого.

a = [2, 3]

b = [1, 4]

a +=b

print(a)

[2, 3, 1, 4]

Второй альтернативный метод решения рассматриваемой задачи предусматривает использование срезов. Такой способ является очень нестандартным использованием индексации и выглядит слегка странно. Хотя является вполне работоспособным, что неоднократно проверено на практике. Написание кода на Питоне в подобной ситуации выглядит следующим образом.

a = [2, 3]

b = [1, 4]

a[len(a):] = b

print(a)

[2, 3, 1, 4]

Курсы обучения Пайтону на Сравни

Программисты на Python очень востребованы на сегодняшнем российском (да и мировом) рынке труда. Что делает весьма актуальным наиболее распространенный способ овладения перспективной специальностью в виде образовательных онлайн-курсов. С помощью нашего сайта можно с легкостью подобрать подходящий и оформить заявку на обучение. Ниже представлено несколько интересных курсов подготовки от ведущих отечественных учебных центров.

Fullstack-разработчик на Python (Eduson ACADEMY)

Длительность программы обучения: 9 месяцев.

Особенности и преимущества образовательного курса:

  1. Полноценная программы подготовки грамотного специалиста с нуля (то есть без требований к исходному уровню знаний).
  2. Карьерные консультации и помощь в трудоустройстве еще на этапе обучения.
  3. Направление на стажировку в ведущие и самые известные отечественные IT-компании.
  4. Гибкий график проведения учебных занятий.
  5. Активное задействование современных интерактивных инструментов обучения и общения с преподавательским составом.
  6. Выдача учебным центром официальных документов об окончании курса (сертификат и/или диплом о прохождении профессиональной переподготовки).
  7. Помощь в создании персонального резюме и портфолио начинающего специалиста (что увеличивает шансы на быстрое трудоустройство).

Python-разработчик (Яндекс Практикум)

Длительность программы обучения: 9 месяцев.

Особенности и преимущества образовательного курса:

  1. Регулярное проведение рекламных акций, участники которых получают крупную скидку или другие бонусы при оплате обучения.
  2. Детализированная программа подготовки, эффективность которой подтверждена на практике.
  3. Оптимальный баланс теоретических и практических занятий.
  4. Постоянная актуализация учебного курса с учетом самых современных требований работодателей и последних трендов в программировании на Пайтоне.
  5. Выдача диплом о повышении квалификации или профессиональной переподготовке.
  6. Бесплатная помощь в поиске работы в течение 7 месяцев с момента окончания учебного курса.

Fullstack-разработчик на Python (Нетология)

Длительность программы обучения: 21 месяц.

Особенности и преимущества образовательного курса:

  1. Большое внимание выполнению практических занятий и реализации самостоятельных проектов (общим количеством 42) для быстрого и эффективного закрепление теоретических знаний.
  2. Углубленное изучение языка программирования Пайтон в течение почти двух лет. С возможностью трудоустройства еще на первом году подготовки.
  3. Эффективное карьерное консультирование и квалифицированная помощь в поиске работы по полученной специальности (престижной, перспективной и высокооплачиваемой).
  4. Формирование персонального портфолио и резюме начинающего Fullstack-разработчика.
  5. Направление на стажировку в компании IT-сектора, выступающие партнерами учебного центра Нетология.
  6. Включение в Карьерный клуб, созданный образовательной организацией, что делает вероятность успешного и быстрого трудоустройства почти 100%-ной.
  7. Гибкая схема оплата обучения, предусматривающая рассрочку и скидки (плюсы дополнительные льготы пользователям Сравни).

Автоматизированное тестирование на Python (Skillbox)

Длительность программы обучения: 9 месяцев.

Особенности и преимущества образовательного курса:

  1. Ориентация на быстрый и успешный старт профессиональной карьеры с возможностью постепенного повышения собственных навыков, знаний и умений.
  2. Включение в программу подготовки четырех базовых курсов, отлично дополняющих друг друга и состоящих из 63 тематических моделей.
  3. Предоставление доступа к учебным материалам образовательной платформы центра навсегда.
  4. Бесплатный курс английского языка (длительностью в один год) в качестве подарка от образовательной организации.
  5. Безупречная деловая репутация центра – как среди слушателей, так и в профессиональной среде.
  6. Опция оплаты обучения в рассрочку без увеличения стоимости.
  7. Получение налогового вычета в части расходов на образование (свое или близких родственников).

Python-разработчик (SKILLFACTORY)

Длительность программы обучения: 9 месяцев.

Особенности и преимущества образовательного курса:

  1. Программа обучения содержит множество практических кейсов, составленных на основании реальных задач компаний-партнеров учебного центра.
  2. Самостоятельная разработка пяти персональных проектов с последующим добавлением в портфолио.
  3. Выдача диплома и сертификата образовательной организации об успешном завершении обучения.
  4. Отсутствие требований к исходной подготовке слушателей.
  5. До мелочей продуманная и постоянно обновляемая программа подготовки.
  6. Возможность получить грант на обучение от учебного центра.
  7. Формирование преподавательского состава из числа практикующих и очень успешных веб-разработчиков на Питоне.
  8. Предоставление доступа к профильному IT-сообществу, что позволяет наработать очень полезные связи и коммуникации.

FAQ

В чем кроются причины широкого использования Питона для программирования в сегодняшних условиях?

Их несколько, начиная с простоты при одновременной функциональности программного кода, а заканчивая легкостью изучения и возможностью удачно комбинировать с другими языками программирования.

Для чего используются операторы append() и extend()?

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

Можно ли добавить элементы в список на Python другими методами?

Да, на практике нередко применяются еще два способа. Первый использует универсальный оператор +, второй – так называемые срезы.

Вывод

  1. Методы append() и extend() предназначены для решения одной задачи (добавление элементов в список Python), но с некоторыми отличиями в части условий применения.
  2. Первый оператор добавляет в список один новый элемент, причем целиком.
  3. Второй использует итерируемые объекты, причем раскладывает их на отдельные составляющие, каждую из которых добавляет в исходный список по отдельности.
  4. Python предоставляет программистам еще два способа добавить данные в список. Первый – с помощью оператора +, второй – посредством срезов.