Включите исполнение JavaScript в браузере, чтобы запустить приложение.
14 ноя 2024

Метод append() в Python

Разбираем метод append() в Python: добавляем элементы в список, разбираем синтаксис и частые ошибки. Узнайте, что делает списочный метод append(), как его использовать и какие задачи можно решать с его помощью. Практические примеры и объяснения — в нашей статье.

Что делает append() в Python

Язык программирования Python содержит множество инструментов для работы с различными типами и структурами данных — благодаря этим удобным инструментам программисты могут упрощать и ускорять процесс разработки, поэтому их стоит изучать.

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

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

Синтаксис append()

Синтаксис метода довольно прост и типичен для всех методов в языке программирования Python, представить его можно следующим образом:

list.append(item)
py

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

Примеры использования метода append()

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

Добавление новых элементов в список

Самый простой пример — это добавление новых элементов в список. Выглядеть это может следующим образом:

numbers = [1, 2, 3]  # Создан список с цифрами от 1 до 3

numbers.append(4)  # Добавляется цифра 4

print(numbers)

# Вывод: [1, 2, 3, 4]

# Можно заметить, что цифра 4, которая была добавлена, появилась в конце списка numbers 

# Теперь к этому элементу можно обратиться

print(numbers[3])

# Вывод: 4
py

append() позволяет добавлять в список элементы разных типов:

items = []  # Создан пустой список

# Добавляются элементы разных типов

items.append(15)

items.append('Кошка')

items.append([1, 2, 3])

print(items)

# Вывод: [15, 'Кошка', [1, 2, 3]]
py

Также в этот метод можно передать переменные, содержащие нужные значения:

items = []

cat = 'Кошка'

number = 15

numbers = [1, 2, 3]

items.append(number)

items.append(cat)

items.append(numbers)

print(items)

# Вывод: [15, 'Кошка', [1, 2, 3]]

print(items[2])

# Вывод: [1, 2, 3]
py

Создание списка через цикл с использованием метода append()

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

Например, если нужно добавить в список цифры от 1 до 3, можно написать такой код на Python:

numbers = []

for i in range(1, 4):  # Будут перебираться значения от 1 до 3

    numbers.append(i)  # Текущее значение i будет добавляться в список на каждой итерации

print(numbers)

# Вывод: [1, 2, 3]
py

Существуют и более интересные варианты использования метода в цикле, например, такие:

# Создание списка из цифр от 0 до 2 с шагом 0.5

numbers = []

for i in range(5):  # Будут перебираться значения от 0 до 4

    numbers.append(i / 2)

print(numbers)

# Вывод: [0.0, 0.5, 1.0, 1.5, 2.0]

# Создание списка с квадратами цифр от 0 до 4

numbers = []

for i in range(5):  

    numbers.append(i ** 2) # Знак ** возводит переменную в квадрат

print(numbers)

# Вывод: [0, 1, 4, 9, 16]
py

Добавление вложенных списков

С помощью метода append() можно добавлять и вложенные списки, это может выглядеть так:

numbers = [[0, 1], [2, 3, 4]]

numbers.append([5, 6, 7, 8])

print(numbers)

# Вывод: [[0, 1], [2, 3, 4], [5, 6, 7, 8]]
py

Добавление элемента только при выполнении условия

С помощью метода append() также можно добавлять в список элементы только в том случае, если они соответствуют какому-то условию.

Например, если нужно добавить в список только четные числа из определенного диапазона, то код может выглядеть следующим образом:

even_numbers = []

for i in range(2, 11):  # Будут перебираться значения от 2 до 10

    if i % 2 == 0:  # Проверка числа на четность

        even_numbers.append(i)

print(even_numbers)

# Вывод: [2, 4, 6, 8, 10]

# Если нужно добавить только нечетные числа, то нужно изменить условие на

if i % 2 != 0:

# Также можно добавлять значения из одного списка в другой при выполнении условия

grades = [2, 5, 4, 5, 3]  # Список со всеми оценками

best_grades = []  # Список, в который будут добавлены лучшие оценки (4 и 5)

for i in grades:

    if i >= 4:  # Если оценка больше или равна 4, то она будет добавлена в best_grades

        best_grades.append(i)

print(best_grades)

# Вывод: [5, 4, 5]
py

Конкатенация списков с использованием append()

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

Выглядеть это может следующим образом:

numbers1 = [1, 2, 3]

numbers2 = [4, 5]

numbers1.append(numbers2)  # Список numbers2 будет добавлен в numbers1

print('New list:', numbers1)  # Для более информативного вывода добавлен текст 'New list:'

# Вывод: New list: [1, 2, 3, [4, 5]]

print(numbers1[3])

# Вывод: [4, 5]
py

Можно заметить, что слияния списков не произошло: теперь numbers1 состоит из отдельных элементов 1, 2, 3 и списка 4, 5. Другими словами, список numbers2 был добавлен в качестве цельного элемента.

Отличие append() от extend()

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

Если переписать предыдущий пример с использованием метода extend(), то получится следующее:

numbers1 = [1, 2, 3]

numbers2 = [4, 5]

numbers1.extend(numbers2)  # Список numbers2 будет добавлен в numbers1

print('New list:', numbers1)

# Вывод: New list: [1, 2, 3, 4, 5]

print(numbers1[3])

# Вывод: 4

print(numbers1[4])

# Вывод: 5
py

Теперь список numbers1 состоит из отдельных элементов 1, 2, 3, 4, 5.