TGViewer
Python Developer Python Developer @python_tg · 20.9K subscribers
Post #2086 5.78K
🐍 Почему 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 | #обучение
  • ❤ 60
  • 👨‍💻 7
  • 👍 6
  • 🔥 1
More from @python_tg
  1. Oct 11, 2026📱 Быстрый статический анализатор типов для Python Pyright от Microsoft проверяет типы в P…
  2. Oct 10, 2026📱 Как сейчас быстро поднять Python-проект В статье предлагают: 🫡 uv — зависимости, окруж…
  3. Oct 9, 2026Post #4061
  4. Oct 9, 2026📱 Ruff: почти весь Python-linting в одной утилите Он умеет линтить, форматировать и автом…
  5. Oct 8, 2026Post #4058
  6. Oct 8, 2026ИИ-система может отлично решать задачи бизнеса, но при этом оставаться уязвимой. Утечки да…
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 →