Что ж, в данном конкретном случае два оператора эквивалентны:
print(np.zeros(0))
>>>[]
print(np.zeros((0,100)))
>>>[]
Это потому, что пустой массив - это пустой массив.Ваша интуиция верна там.Если вы введете:
np.zeros(10)
или
np.zeros((1,10))
, вы также получите тот же массив, а именно [0,0,0,0,0,0,0,0,0,0]
.Форма имеет значение только тогда, когда вы ссылаетесь на число, которое фактически меняет форму массива.Например:
print(np.zeros((2,3)))
>>>[[0,0,0]
[0,0,0]]
, но:
print(np.zeros((3,2)))
>>>[[0,0]
[0,0]
[0,0]]
Ничего особенно непрозрачного в этом нет.Ваш здравый смысл на самом деле применяется здесь.Если массив пуст, ни одно из других измерений, добавляемых в него, не имеет значения.