[Python]Array.arrayの全要素を累乗・べき乗するには?

python

どうも、ちょげ(@chogetarou)です。

Array.arrayの全要素を累乗・べき乗する方法を紹介します。

スポンサーリンク

方法

インターフェース, インターネット, プログラム, ブラウザ, Www

Array.arrayの全要素を累乗・べき乗する方法は、4つあります。

forループ

1つ目は、forループを使う方法です。

まず、変数にarray.array(‘t’, [])を代入します。

そして、array.array(‘t’, [])の[]内でArray.arrayをforループします。

ループ処理で、「**」の左辺にArray.arrayの要素、右辺に乗数を指定した式を記述します。

#Array.arrayの全要素をN乗する
result = array.array('i', [i ** N for i in array])

上記のarray.array(‘t’, [])は、forループしたArray.arrayの全要素を累乗・べき乗したArray.arrayを生成します。

使用例

import array

numbers = array.array('i', [1, 2, 3, 4, 5])

result = array.array('i', [i ** 3 for i in numbers])
    
print(result) #array('i', [1, 8, 27, 64, 125])

map()

2つ目は、map()を使う方法です。

まず、array.array(‘t’)を呼び出し、第2引数でmap()を呼び出します。

map()の第1引数に引数を1つ持つラムダ式、第2引数にArray.arrayを指定します。

そして、map()のラムダ式で、「**」の左辺にラムダ式の引数、右辺に乗数を指定した式を返します。

result = array.array('i', map(lambda x: x**N, array))

上記の「array.array(‘t’, map())」は、map()の第2引数に指定したArray.arrayの全要素を累乗・べき乗したArray.arrayを生成します。

使用例

import array

numbers = array.array('i', [1, 2, 3, 4, 5])

result = array.array('i', map(lambda x: x ** 3, numbers))
    
print(result) #array('i', [1, 8, 27, 64, 125])

numpy.ndarray

3つ目は、numpy.ndarrayを使う方法です。

まず、Array.array(‘t’)を呼び出します。

Array.array(‘t’)の第2引数に、「**」の左辺にarray.arrayから生成したnumpy.ndarray、右辺に乗数を記述した式を指定します。

#array.arrayの要素をN乗する
result = array.array('i', np.array(array) ** N)

上記のarray.array()は、numpy.ndarrayの元となったArray.arrayの全要素を累乗・べき乗したArray.arrayを返します。

使用例

import array
import numpy as np

numbers = array.array('i', [1, 2, 3, 4, 5])

result = array.array('i', np.array(numbers) ** 4)
    
print(result) #array('i', [1, 16, 81, 256, 625])

numpy.power()

4つ目は、numpy.power()を使う方法です。

まず、array.array()を呼び出します。

array.array()の第1引数に型、第2引数にnumpy.power()を呼び出します。

そして、numpy.power()の第1引数にArray.array、第2引数に乗数を指定します。

#arrayの全要素をN乗する
result = array.array('i', np.power(array, N))

上記のarray(”, np.power())は、numpy.power()の第1引数に指定したArray.arrayの全要素を累乗・べき乗した新しいArray.arrayを生成します。

使用例

import array
import numpy as np

numbers = array.array('i', [1, 2, 3, 4, 5])

result = array.array('i', np.power(numbers, 4))
    
print(result) #array('i', [1, 16, 81, 256, 625])

まとめ

Array.arrayの全要素を累乗・べき乗する方法は、次の4つです。

  • forループを使う方法
  • map()を使う方法
  • numpy.ndarrayを使う方法
  • numpy.power()を使う方法

コメント

タイトルとURLをコピーしました