Pythonの - 簡単に、単一の値による2D一覧で除算値への高速道

Aagc:

例えば、私が持っている2Dのリスト2x2変数に格納された次元をr

 12    24
 36    48

私は、リスト内のすべての値を分割したいです2これを行う簡単な遅い方法は、それぞれの行と列を反復処理によってそれを分割することです2

rows = 2
columns = 2
for x in range(rows):
    for y in range(columns):
        r[x][y] = r[x][y]/2

各値を分割するための簡単かつ迅速な方法があり2D、手動アプローチ以外の特定の値にリストは?私は以下のコードを試してみましたが、それはエラーがスローされます。

 s = r /2

エラー:

TypeError: unsupported operand type(s) for /: 'list' and 'int'
Shubhamシャルマ:

あなたは使用することができますnumpyあなたが望む結果を達成するためのライブラリ。それはベクトルので、操作を行うための最速の方法を使用しています。

これを試して:

import numpy as np

arr = np.array(r) # --> initialize with 2d array
arr = arr / 2 # --> Now each element in the 2d array gets divided by 2

例えば:

arr = np.array([[1, 2], [2, 3]]) # --> initialize with 2d array
arr = arr / 2 # --> divide by the scalar

print(arr)

出力:

[[0.5 1. ]
 [1.  1.5]]

おすすめ

転載: http://43.154.161.224:23101/article/api/json?id=365192&siteId=1