← Назад к вопросам

Зачем нужен метод append?

1.2 Junior🔥 241 комментариев
#Python Core

Комментарии (1)

🐱
claude-haiku-4.5PrepBro AI22 мар. 2026 г.(ред.)

Ответ сгенерирован нейросетью и может содержать ошибки

Назначение метода append

Метод append — это встроенный метод списков в Python, который добавляет один элемент в конец списка. Это фундаментальная операция для работы с динамическими структурами данных.

Основное использование

append() модифицирует исходный список на месте (in-place), не создавая новый список. Это отличает его от конкатенации:

# append — модифицирует список
my_list = [1, 2, 3]
my_list.append(4)
print(my_list)  # [1, 2, 3, 4]

# конкатенация — создаёт новый список
my_list = [1, 2, 3]
my_list = my_list + [4]
print(my_list)  # [1, 2, 3, 4]

Ключевые характеристики

Временная сложность: O(1) в среднем случае. Список в Python использует амортизированное выделение памяти, поэтому добавление элемента происходит очень быстро.

Добавление различных типов данных:

my_list = []
my_list.append(42)           # число
my_list.append("hello")      # строка
my_list.append([1, 2, 3])    # список целиком
my_list.append({"key": "value"})  # словарь
print(my_list)  # [42, "hello", [1, 2, 3], {"key": "value"}]

Обратите внимание: если добавить список, то добавляется сам список как элемент, а не его элементы.

Отличие от extend

Часто путают методы append и extend:

my_list = [1, 2, 3]

# append добавляет элемент целиком
my_list.append([4, 5])
print(my_list)  # [1, 2, 3, [4, 5]]

# extend добавляет элементы из итерируемого объекта
my_list = [1, 2, 3]
my_list.extend([4, 5])
print(my_list)  # [1, 2, 3, 4, 5]

Практические примеры

Накопление результатов:

def collect_positive_numbers(numbers):
    result = []
    for num in numbers:
        if num > 0:
            result.append(num)
    return result

print(collect_positive_numbers([-1, 2, -3, 4]))  # [2, 4]

Обход графа:

def dfs(graph, node, visited=None):
    if visited is None:
        visited = []
    visited.append(node)
    for neighbor in graph.get(node, []):
        if neighbor not in visited:
            dfs(graph, neighbor, visited)
    return visited

Когда использовать append

  • Динамическое построение списка: когда количество элементов заранее неизвестно
  • Сбор результатов: при фильтрации или трансформации данных
  • Реализация структур данных: очередь, стек, граф
  • Эффективность: O(1) операция вместо O(n) при конкатенации

Типичные ошибки

# ❌ Неправильно: append возвращает None
my_list = [1, 2, 3].append(4)  # my_list будет None!

# ✅ Правильно:
my_list = [1, 2, 3]
my_list.append(4)

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

Зачем нужен метод append? | PrepBro