Сегодня я узнал любопытную вещь и задавался вопросом, может ли кто-нибудь пролить некоторый свет на то, в чем разница здесь?
import numpy as np
A = np.arange(12).reshape(4,3)
for a in A:
    a = a + 1
B = np.arange(12).reshape(4,3)
for b in B:
    b += 1
После запуска каждого цикла for A не изменился, но B добавил один элемент к каждому элементу. Я фактически использую версию B для записи в инициализированный массив NumPy в цикле for.