798просмотров
42.6%от подписчиков
18 февраля 2026 г.
questionScore: 878
Почему list.append() быстрее и правильнее, чем +=? Многие пишут так: result = [] for x in data: result += [x] Работает. Но это не лучший вариант. Правильнее так 👇 result = [] for x in data: result.append(x) В чём разница? append() добавляет элемент на место, без создания нового списка. += фактически делает расширение списка (аналог extend()), а если написать так: result = result + [x] то создаётся новый список на каждой итерации. Почему это важно? В циклах разница становится заметной. # медленнее result += [x] # быстрее result.append(x) При больших объёмах данных – это уже не микрооптимизация. Частая ошибка новичков ❌ result += x # если x не список → TypeError += ожидает итерируемый объект. append() добавляет один элемент. Когда нужен extend()? Если добавляем несколько элементов сразу: result.extend([1, 2, 3]) Аналог: result += [1, 2, 3] Но для одного элемента — всегда append(). Краткое правило • Добавляешь 1 элемент → append() • Добавляешь много элементов → extend() • Пишешь += [x] → почти всегда можно сделать лучше
798
просмотров
1059
символов
Нет
эмодзи
Нет
медиа

Другие посты @phytonrepoz

Все посты канала →
Почему list.append() быстрее и правильнее, чем +=? Многие пи — @phytonrepoz | PostSniper