裏 RjpWiki

Julia ときどき R, Python によるコンピュータプログラム,コンピュータ・サイエンス,統計学

Python 嫌いだけど,こんな Python プログラムはいやだ(その5)

2020年12月14日 | Python

for 文を使って書かれると,何をやっているのか,一目で分からない

以下のプログラム,何やっているかすぐ分かる?scale は何になる?

scale = 0.0
for t in range(n_dim):
    for i in range(n_row):
        if scale < abs(y[t][i]):
            scale = abs(y[t][i])
    for j in range(n_col):
        if scale < abs(x[t][j]):
            scale = abs(x[t][j])

以下と同じ

mx = max(abs(np.ravel(x)))
my = max(abs(np.ravel(y)))
scale = max(mx, my)

一行で書いてもいいけど

scale = max(abs(np.hstack((np.ravel(x), np.ravel(y)))))

つまりね,x, y の絶対値をとったものの最大値

scale = max(np.amax(abs(x)), np.amax(abs(y)))

と書いても同じ。(max と np.amax とが使われていて,Python のいやらしさが出ているけど)

コメント
  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする

PVアクセスランキング にほんブログ村

PVアクセスランキング にほんブログ村