В 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 | Чат
