配列の単純な配列 (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] ]