Итак, n23
создается как (2,2,3) -образный массив dtype объекта. При этом dtype
все начальные значения None
.
as21
имеет (2,1) форму.
n23[0]
, иначе n23[0,:,:]
- массив (2,3).
Так что да, присвоение (2,1) a (2,3) подразумевает вещание. То есть размер as21
размера 1 реплицируется, чтобы соответствовать 3 из n23[0]
.
(2,1) => (2,3)
Существует два основных этапа вещания:
- matching number of dimensions, by adding size 1 dimenions at the front (if needed)
- adjusting size 1 dimensions to match others.
По этим правилам n23[:] = as21
также будет работать.
(2,1)=>(1,2,1)=>(2,2,3)