copyto = zeros(10)
what = ones(3)
where = 2
copyto[where:len(what)+where] = what
有没有办法将较小数组中的所有值复制到特定位置的较大数组中,而不提供上层索引?我认为它的工作方式是
copyto[where:] = what
但是这给了我
ValueError: operands could not be broadcast together with shapes
谢谢!
答案 0 :(得分:2)
在赋值的左侧和右侧,您必须具有相同形状的数组,以便存在各个元素之间的一对一对应关系。在您的情况下,数组(视图)copyto[where:]
有8个元素,而what
有3个,因此您的分配定义不明确。 (或者换句话说:没有唯一的方法可以将三个值分配给八个变量,因此分配的定义不明确。)