2
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

ありがとう!

4

1 に答える 1

2

割り当ての左側と右側には、個々の要素間に 1 対 1 の対応が存在するように、同じ形状の配列が必要です。あなたの場合、配列(ビュー)copyto[where:]には8つの要素がありwhatますが、3つあるため、割り当ては明確に定義されていません。(または、別の言い方をすれば: 8 つの変数に 3 つの値を代入する一意の方法はないため、代入は適切に定義されていません。)

于 2013-03-01T19:45:18.973 に答える