2

配列の単純な配列 (numpy マトリックスではない) としてマトリックスがある場合、1 行のコードでマトリックスの 1 列をスケーリングするにはどうすればよいでしょうか?

これは単なる好奇心によるものです。2 行または 3 行よりも 1 行に利点​​があると主張しているわけではありません。

いくつかのマトリックス「mtx」、列インデックス「インデックス」、およびスカラー「スケール」について、私が持っているものは次のとおりです。もっと見やすく、読みやすくすることはできますか? また、複数の列に同じ値がある場合、これは失敗する可能性があります。

mtx = zip( * ( (map(lambda r : r*scale if zip(*mtx).index(col)==index else r, col)) for col in zip(*mtx)] ) )

編集:

要求に応じて、入力/出力の例を次に示します

mtx = [ [ i for i in range(3) ] for j in range(3) ]
index = 1
scale = 17
print mtx

mtx = zip( * ( p (map(lambda r : r*scale if zip(*mtx).index(col)==index else r, col)) for col in zip(*mtx)] ) )
print mtx

print ステートメントは、それぞれ以下を生成します。

--> [ [0,1,2],[0,1,2],[0,1,2] ]
--> [ [0,17,2],[0,17,2],[0,17,2] ]
4

2 に答える 2