TGViewer
Python Developer Python Developer @python_tg · 20.9K subscribers
Post #3029 5.65K
🐍 Почему list += list быстрее, чем list = list + list?

В Python оператор += для списков и выражение list = list + list дают одинаковый результат, но работают по-разному. Разница в том, что += изменяет список на месте, а + создаёт новый объект.

Рассмотрим пример:
lst = [1, 2, 3]
lst += [4, 5, 6] # список изменяется на месте

Этот вариант использует list.__iadd__(), который модифицирует текущий объект, не создавая новый список.


Теперь посмотрим на этот пример:
lst = [1, 2, 3]
lst = lst + [4, 5, 6] # создаётся новый список

Здесь вызывается list.__add__(), который создаёт новый список, копируя оба исходных, что занимает больше времени и памяти.


Ключевая разница:

▶️ += (инплейсная операция) → изменяет исходный список, без копирования

▶️ + → создаёт новый список, копируя данные из обоих

+= работает быстрее, что особенно заметно на больших структурах, так как он не копирует данные, а напрямую изменяет список.


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

❤️ — если было полезно

➡️ Python Developer | #обучение
  • ❤ 62
  • 👍 16
  • 🔥 2
  • 👀 1
More from @python_tg
  1. Oct 3, 2026▪️ Python-библиотека для работы с Google Flights Она позволяет получать данные о рейсах из…
  2. Oct 2, 2026📱 Строим продвинутый каркас для ИИ-агента на Python В статье показывают, как превратить п…
  3. Oct 1, 2026Post #4046
  4. Oct 1, 2026📈За 2025 год вакансий в кибербезопасности стало на 26% больше. 📉Общий рынок труда за это…
  5. Oct 1, 2026💻 Генератор ER-диаграмм из SQL Инструмент позволяет: 🫡 Вставить SQL-код; 🫡 Автоматическ…
  6. Sep 30, 2026Post #4043
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →