この構造をより効率的な方法で表現するにはどうすればよいですか?
x = [2, 4, 6, 8, 10]
for p in x:
x = x/2
print x
これを行うには良い方法が必要です。
のすべての要素をx
by2
で除算しようとしている場合は、次のようにします。
x = np.array([2, 4, 6, 8, 10])
x /= 2
の結果の値はx
ですarray([1, 2, 3, 4, 5])
。
上記は整数(切り捨て)除算を使用していることに注意してください。浮動小数点除算が必要な場合はx
、浮動小数点配列にします。
x = np.array([2, 4, 6, 8, 10], dtype='float64')
または分割を次のように変更します。
x = x / 2.0
numpy 配列の場合は、一度にすべて実行できます。
In [4]: from numpy import array
In [5]: x = array([2, 4, 6, 8, 10])
In [6]: print x/2
[1 2 3 4 5]