[Python]配列(Array)の累乗和を取得するには?

python

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

配列(Array)の累乗和を取得する方法を紹介します。

スポンサーリンク

方法

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

リスト(List)

リスト(list)の累乗和を取得する方法は、2つあります。

forループ

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

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

sum()の引数に[]を指定します。

そして、[]内でリスト(List)をforループします。

ループ処理で、左辺に要素、右辺に乗数を指定した「**」で演算します。

result = sum([i ** N for i in list])

上記のsum()は、forループしたリスト(List)の累乗和を返します。

使用例

numbers = [1, 2, 3, 4, 5]

#3の累乗和を取得
result = sum([i ** 3 for i in numbers])
    
print(result) #225

map()

もう1つは、map()を使う方法です。

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

sum()の引数でmap()を呼び出します。

そして、map()の第1引数に引数を1つ持つラムダ式、第2引数にリストを指定します。

ラムダ式で、「**」の左辺にラムダ式の引数、右辺に乗数を記述した式を返します。

result = sum(map(lambda x: x ** N, list))

上記のsum(map())は、map()の第2引数のリストの累乗和を返します。

使用例

numbers = [1, 2, 3, 4, 5]

#4の累乗和を取得
result = sum(map(lambda x: x ** 4, numbers))
    
print(result) #979

Array.array

Array.arrayの累乗和を取得する方法は、2つあります。

forループ

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

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

sum()の引数に[]を指定します。

そして、[]内でArray.arrayをforループします。

ループ処理で、左辺に要素、右辺に乗数を指定した「**」で演算します。

result = sum([i ** N for i in array])

上記のsum()は、forループしたArray.arrayの累乗和を返します。

使用例

import array

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

result = sum([i ** 3 for i in numbers])
    
print(result) #225

map()

もう1つは、map()を使う方法です。

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

sum()の引数でmap()を呼び出します。

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

ラムダ式で、「**」の左辺にラムダ式の引数、右辺に乗数を記述した式を返します。

result = sum(map(lambda x: x ** N, array))

上記のsum(map())は、map()の第2引数のArray.arrayの累乗和を返します。

使用例

import array

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

result = sum(map(lambda x: x ** 4, numbers))
    
print(result) #979

Numpy配列

Numpy配列(Array)の累乗和を取得する方法は、2つあります。

sum()メソッド

1つは、sum()メソッドを使う方法です。

まず、左辺にNumpy配列、右辺に乗数を指定した「**」で演算します。

そして、「**」の演算結果からsum()メソッドを呼び出します。

result = (array ** power).sum()

上記のsum()メソッドは、「**」の左辺に指定したNumpy配列の累乗和を返します。

使用例

import numpy as np

nums = np.array([[1, 2, 3],  
                [4, 5, 6], 
                [7, 8, 9],] )

result = (nums ** 3).sum()

print(result) #2025

numpy.sum()

もう1つは、numpy.sum()を使う方法です。

まず、numpyからsum()を呼び出します。

そして、numpy.sum()の引数に、左辺にNumpy配列、右辺に乗数を記述した「**」を指定します。

result = np.absolute(array).min()

上記のnumpy.sum()は、「**」の左辺に記述したNumpy配列の累乗和を返します。

使用例

import numpy as np

nums = np.array([[1, 2, 3],  
                [4, 5, 6], 
                [7, 8, 9],] )

result = np.sum(nums ** 2)

print(result) #285

まとめ

リスト(List)とArray.arrayの累乗和を取得する方法は、次の2つです。

  • forループを使う方法
  • map()を使う方法

Numpy配列の累乗和を取得する方法は、次の2つです。

  • sum()メソッドを使う方法
  • numpy.sum()を使う方法

コメント

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