Эта строка:
array = array + 1
… выполняет поэлементную операцию, но она выполняет создание нового массива с каждым приращенным элементом. Присвоение этого массива обратно локальной переменной array
ничего не даст, потому что эта локальная переменная скоро исчезнет, и вы ничего не сделали, чтобы изменить глобальную переменную с тем же именем,
С другой стороны, эта строка:
array += 1
… выполняет поэлементную операцию приращения всех элементов на месте, что, вероятно, вам здесь и нужно.
В Python изменяемые коллекции разрешены только , а не требуется , чтобы обрабатывать оператор +=
таким образом; они могут обрабатывать это так же, как array = array + 1
(как неизменяемые типы, такие как str
). Но встроенные типы, такие как list
, и наиболее популярные сторонние типы, такие как np.array
, делают то, что вы хотите.