TGViewer
Python Developer Python Developer @python_tg · 20.9K subscribers
Post #3600 3.97K
🐍 Почему 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__(), который создаёт новый список, копируя оба исходных, что занимает больше времени и памяти.


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

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

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

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


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

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

tags: #обучение

➡️ Python Developer | Чат
  • ❤ 26
  • 🔥 6
  • 👍 4
More from @python_tg
  1. Sep 27, 2026▪️ Большая база материалов для изучения Python с нуля Нашли репозиторий, где собраны roadm…
  2. Sep 26, 2026Post #4035
  3. Sep 26, 2026Бесплатный ChatGPT для работы прямо в Telegram Личный ассистент для рабочих задач. Без зар…
  4. Sep 26, 2026📱 Как работают деструкторы в Python В статье разбирают: 🫡 Как работает __del__; 🫡 Почем…
  5. Sep 25, 2026Post #4032
  6. Sep 25, 2026Лучше безработный, чем вайбкодер ➡ Python Developer | #memes
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 →