Содержание

что делают и как работать со списками с помощью функций / Skillbox Media

#статьи

  • 0

Учимся работать со списками с помощью встроенных функций языка.

Vkontakte Twitter Telegram Скопировать ссылку

Иллюстрация: Катя Павловская для Skillbox Media

Дмитрий Зверев

Любитель научной фантастики и технологического прогресса. Хорошо сочетает в себе заумного технаря и утончённого гуманитария. Пишет про IT и радуется этому.

Методы append() и extend() позволяют добавить новый элемент в уже существующий список или объединить несколько list-объектов в один. В этой статье мы расскажем и покажем на примерах, как ими пользоваться. А в конце — поделимся менее очевидными способами расширения списков.

append() добавляет в конец списка элемент, переданный ему в качестве аргумента. Как и все методы в Python, он вызывается через оператор . (точка).

list.append(item)

append() принимает один аргумент item и добавляет его в конец list. Тип параметра может быть любым: числа, строки, словари и так далее. Метод возвращает объект None — то есть ничего.

Допустим, у нас есть список a, который заполнен строками:

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

Если мы захотим добавить в него новую строку ‘row’, то передадим её в качестве аргумента в append(). Так как метод принадлежит типу list, то вызывать его нужно для объекта a через точку:

a.append('row')
print(a)
['car', 'top', 'lot', 'row']

Строка добавилась в конец нашего списка. Всё работает.

Усложним задачу и попробуем добавить ещё один список из двух строк:

b = ['moon', 'sun']
a.append(b)
print(a)
['car', 'top', 'lot', 'row', ['moon', 'sun']]

Как мы видим, в a добавился список b с вложенными в него элементами. А если мы захотим, чтобы элементы из b добавились отдельно? Вот так:

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

К сожалению, с помощью append() этого сделать нельзя, потому что метод принимает только один аргумент. Если вы всё-таки попытаетесь передать несколько объектов через запятую, то интерпретатор вызовет исключение

TypeError (ошибка типа):

a = [1, 2, 3]
a. append(1, 2, 3)
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
TypeError: list.append() takes exactly one argument (3 given)

К счастью, есть метод extend(), который позволяет добавить одновременно несколько элементов. О нём и поговорим далее.

extend() принимает в качестве параметра итерируемый объект и объединяет его со списком.

list.extend(iterable)

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

Как и append(), метод возвращает объект None.

Вернёмся к нашему списку a:

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

Допустим, мы хотим соединить его с другим списком из строк. Передадим b в extend() и получим результат:

b = ['dog', 'cat']
a.extend(b)
print(a)
['car', 'top', 'lot', 'dog', 'cat']

Как видите, каждый элемент из b по отдельности добавился в a.

Мы можем сделать то же самое и с другим итерируемыми объектами — например, кортежами или строками:

c = ('like', 'mode')
a.extend(c)
print(a)
['car', 'top', 'lot', 'dog', 'cat', 'like', 'mode']
d = 'man'
a.extend(d)
print(a)
['car', 'top', 'lot', 'dog', 'cat', 'like', 'mode', 'm', 'a', 'n']

Обратите внимание:

строки, которые передаются в extend(), превращаются в списки символов и добавляются посимвольно. Так, строка ‘man’ разложилась на ‘m’, ‘a’, ‘n’.

Если передать в extend() не итерируемый объект, например число, Python генерирует TypeError:

a = [1, 2, 3]
a.extend(1)
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
TypeError: 'int' object is not iterable

В сообщении нам вежливо объясняют, что число — это не итерируемый объект.

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

Оператор +. Он напоминает обычный математический оператор, но со списками действует как функция 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]

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

  • Функция append() позволяет добавлять в список один новый элемент — например, число, строку или другой список.
  • Функция extend() работает как
    append()
    , но в качестве параметра принимает итерируемый объект: список, кортеж или строку. Содержимое этого объекта поэлементно добавляется в другой список.
  • Кроме методов append() и extend() добавить элементы в список можно с помощью оператора + и срезов.
    Оба способа действуют как extend() — поочерёдно добавляют элементы одного списка в другой.

Больше интересного про код в нашем телеграм-канале.  Подписывайтесь!

Читайте также:

Vkontakte Twitter Telegram Скопировать ссылку Научитесь:
Профессия Python-разработчик
Узнать больше

Учёные разработали ионную кожу, которая даст роботам тактильные ощущения 28 апр 2023

Windows 11 теперь принимает звонки, сообщения и уведомления с iPhone 27 апр 2023

«Сбер» представил конкурента ChatGPT под названием GigaChat 24 апр 2023

Понравилась статья?

Да

что делают и в чем разница

Метод append() в Python добавляет элемент в конец списка.

Синтаксис метода:

list.append(item)

Параметры

Метод принимает единственный аргумент:

  • item – элемент, который нужно добавить в конец списка.

Элементом могут быть числа, строки, словари, другой список и т.д.

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

Метод не возвращает никакого значения (возвращает None).

Пример 1: Добавление элемента в список

# animals list
animals = ['cat', 'dog', 'rabbit']

# 'guinea pig' is appended to the animals list
animals.append('guinea pig')

# Updated animals list
print('Updated animals list: ', animals)

Выход

Updated animals list:  ['cat', 'dog', 'rabbit', 'guinea pig']

Пример 2: Добавление списка в список

# animals list
animals = ['cat', 'dog', 'rabbit']

# list of wild animals
wild_animals = ['tiger', 'fox']

# appending wild_animals list to the animals list
animals. append(wild_animals)

print('Updated animals list: ', animals)

 

Выход

Updated animals list:  ['cat', 'dog', 'rabbit', ['tiger', 'fox']]

Важно отметить, что в список животных в приведенной выше программе добавляется один элемент (список wild_animals).

Если вам нужно добавить элементы списка в другой список (а не в сам список), используйте метод extend().

Синтаксис метода:

list1.extend(iterable)

При этом все элементы Iterable добавляются в конец list1.

Параметры

Как уже упоминалось, метод принимает итерацию, такую как список, кортеж, строка и т.д.

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

Метод изменяет исходный список, он не возвращает никакого значения.

Пример 1: Использование метода

# language list
language = ['French', 'English']

# another list of language
language1 = ['Spanish', 'Portuguese']

# appending language1 elements to language
language. extend(language1)

print('Language List:', language)

Выход

Language List: ['French', 'English', 'Spanish', 'Portuguese']

Пример 2: Добавить элементы кортежа и установить их в список

# language list
language = ['French']

# language tuple
language_tuple = ('Spanish', 'Portuguese')

# language set
language_set = {'Chinese', 'Japanese'}

# appending language_tuple elements to language
language.extend(language_tuple)

print('New Language List:', language)

# appending language_set elements to language
language.extend(language_set)

print('Newer Language List:', language)

Выход

New Language List: ['French', 'Spanish', 'Portuguese']
Newer Language List: ['French', 'Spanish', 'Portuguese', 'Japanese', 'Chinese']

Другие способы расширения списка

Вы также можете добавить в список все элементы итерации, используя:

1. Оператор +.

a = [1, 2]
b = [3, 4]

a += b    # a = a + b

# Output: [1, 2, 3, 4]
print('a =', a)
a = [1, 2, 3, 4]

2. Синтаксис нарезки списка.

a = [1, 2]
b = [3, 4]

a[len(a):] = b

# Output: [1, 2, 3, 4]
print('a =', a)
a = [1, 2, 3, 4]

3284012cookie-checkМетод append() и extend() в Pythonyes

Python List Метод append() с примерами

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

Мы написали серию статей, которые помогут вам изучить и освежить в памяти наиболее полезные функции Python. В этой статье мы узнаем больше об этой функции append() в Python и о том, как ее использовать.

Если вы готовитесь к собеседованию по техническим вопросам, ознакомьтесь с нашим контрольным списком собеседования по техническим вопросам, страницей вопросов для собеседования и электронной книгой по переговорам о заработной плате по номеру . Будьте готовы к собеседованию! Кроме того, прочтите метод Python String join(), команды Python Exit и Type and Isinstance In Python для получения дополнительной информации о подготовке к собеседованию по программированию на Python .

Обучив более 10 000 инженеров-программистов, мы знаем, что нужно для прохождения самых сложных технических собеседований. Наши выпускники постоянно получают предложения от компаний FAANG+. Самое высокое предложение, когда-либо полученное выпускником IK, составляет колоссальные 1,267 миллиона долларов!

В IK вы получаете уникальную возможность учиться у опытных инструкторов, которые являются менеджерами по найму и техническими руководителями в Google, Facebook, Apple и других ведущих технологических компаниях Силиконовой долины.

Хотите пройти следующее техническое собеседование? Подпишитесь на наш БЕСПЛАТНЫЙ вебинар.

В этой статье мы рассмотрим:

  • Что такое функция append() в Python и что она делает?
  • Функция append() в Python: синтаксис
  • Функция append() в Python: пример
  • Часто задаваемые вопросы о функции append() в Python

Что такое функция append() в Python и что она делает?

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

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

Функция append() в Python: синтаксис

list.append(элемент)
 

list.append(item)

  • Параметры: элемент — единственный параметр, который принимает функция append(), и он добавляется в конец списка.
  • Возвращает: append() не возвращает никакого значения. Он просто добавляет элемент в конец списка.

Функция append() в Python: пример

Здесь мы рассмотрим, как использовать функцию append() в Python в следующий раз, когда она вам понадобится:

Как использовать функцию append() в Python

Код для добавления элемента в список с помощью append()
# Добавить строковый элемент в список строк:
stringList = ['пн', 'вт', 'ср', 'чт']
печать (список строк)
stringList. append('пт')
печать (список строк)
# Добавляем элемент int в список строк:
stringList.append(8)
печать (список строк)
# Добавляем элемент int в список int:
intList = [0, 2, 4, 6]
печать (целый список)
intList.append(8)
печать (целый список)
# Добавляем строковый элемент в список int:
intList.append('пт')
печать (целый список)
 

Примечание: Код предназначен для Python 3.x, но тот же код будет работать и в Python 2.x, только синтаксис печати изменен на print listName вместо print(listName).

Выход
['пн', 'вт', 'ср', 'чт']
['пн', 'вт', 'ср', 'чт', 'пт']
['пн', 'вт', 'ср', 'чт', 'пт', 8]
[0, 2, 4, 6]
[0, 2, 4, 6, 8]
[0, 2, 4, 6, 8, 'пт']
 

Код для добавления списка к списку с помощью append()
# Добавляем список как элемент к исходному списку
stringList = ['пн', 'вт', 'ср', 'чт', 'пт']
печать (список строк)
listToAppend = ['сб', 'вс']
печать (список для добавления)
# Добавление listToAppend к stringList
stringList. append(listToAppend)
печать (список строк)
# Мы можем получить доступ к элементам из добавленного списка так же, как мы получаем доступ к элементам из 2-D Matrix.
печать (строковый список [5] [0])
печать (строковый список [5] [1])
 
Выход
['пн', 'вт', 'ср', 'чт', 'пт']
['сб', 'солнце']
['пн', 'вт', 'ср', 'чт', 'пт', ['сб', 'вс']]
Суббота
солнце
 

Нашли эту статью полезной? Вы можете узнать о других функциях Python в нашей учебной папке.

Часто задаваемые вопросы о функции append() в Python

Q1. Как мы можем добавить к списку в Python?

Вы можете использовать extend(), append() и itertools.chain() в зависимости от ваших потребностей в добавлении к списку в Python.

Q2. В чем разница между функциями insert() и append() в Python?

В Python функция insert() позволяет вам вставить элемент в список по любому выбранному вами индексу. Напротив, append() добавляет элемент только в конец списка.

Q3. В чем разница между функциями extend() и append() в Python?

В отличие от append() в Python, которая добавляет один элемент в конец списка, функция extend() перебирает свой параметр, добавляет каждый элемент в список и расширяет список.

Q4. Делает ли функция append() в Python копию списка?

Нет. append() изменяет исходный список. Он не создает копию списка.

Q5. Какие параметры принимает функция append() в Python и что она возвращает?

Функция append() в Python принимает единственный параметр — добавляемый элемент. Он не возвращает значения или списка, поскольку изменяет исходный список, добавляя элемент в конец списка.

Готовы пройти следующее собеседование по программированию?

Независимо от того, являетесь ли вы инженером-программистом, стремящимся стать разработчиком программного обеспечения или инженером-программистом, техническим руководителем, или вы нацелены на руководящие должности в ведущих компаниях, IK предлагает курсы, специально разработанные для ваших нужд, чтобы помочь вам в подготовке к техническому собеседованию. !

Если вам нужны рекомендации и помощь в начале работы, подпишитесь на наш БЕСПЛАТНЫЙ вебинар. Являясь пионерами в области подготовки к техническим собеседованиям, мы обучили тысячи инженеров-программистов проходить самые сложные собеседования по программированию и получать работу в компаниях своей мечты, таких как Google, Facebook, Apple, Netflix, Amazon и других!

Добавление элементов в свои списки на месте — Real Python