面试题答案
一键面试- 计算结果:
首先导入
numpy
库:
计算结果import numpy as np a = np.array([[1], [2], [3]]) b = np.array([[4, 5, 6, 7]]) result = a + b print(result)
result
是一个形状为(3, 4)
的数组,内容如下:[[ 5 6 7 8] [ 6 7 8 9] [ 7 8 9 10]]
- 广播过程描述:
- 数组
a
的形状是(3, 1)
,数组b
的形状是(1, 4)
。 - 广播机制从右到左比较两个数组的形状。
- 对于最右边的维度,数组
a
是1
,数组b
是4
,由于1
和任何数匹配(这里是4
),a
的这一维度会被扩展为4
。 - 对于次右边的维度,数组
a
是3
,数组b
是1
,同样1
和3
匹配,b
的这一维度会被扩展为3
。 - 最终,数组
a
在第二个维度上被复制4次,数组b
在第一个维度上被复制3次,两个数组都变成了形状为(3, 4)
的数组,然后对应元素相加得到最终结果。
- 数组