[Python]配列(Array)の絶対値の合計を取得するには?

python

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

配列(Array)の絶対値の合計を取得する方法を紹介します。

スポンサーリンク

方法

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

リスト(List)の場合

List(リスト)の絶対値の合計を取得する方法は、2つあります。

sum() + forループ

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

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

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

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

ループ処理で、abs()を呼び出し、abs()の引数にリストの要素を指定します。

result = sum([abs(i) for i in list])

上記のsum()は、[]内でforループしたリストの絶対値の合計を返します。

使用例

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

result = sum([abs(i) for i in numbers])
    
print(result) #15

sum() + map()

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

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

そして、sum()の引数にmap()を指定します。

mapの第1引数にabs、第2引数にリスト(List)を指定します。

result = sum(map(abs, list))

上記のsum()は、map()の第2引数に指定したリスト(List)の絶対値の合計を返します。

使用例

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

result = sum(map(abs, numbers))
    
print(result) #15

Array.arrayの場合

Array.arrayの絶対値の合計を取得する方法は、2つあります。

sum() + forループ

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

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

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

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

ループ処理で、abs()を呼び出し、abs()の引数にarray.arrayの要素を指定します。

result = sum([abs(i) for i in array])

上記のsum()は、[]内でforループしたArray.arrayの絶対値の合計を返します。

使用例

import array

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

result = sum([abs(i) for i in numbers])
    
print(result) #25

sum() + map()

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

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

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

mapの第1引数にabs、第2引数にarray.arrayを指定します。

result = sum(map(abs, array))

上記のsum()は、map()の第2引数のArray.arrayの絶対値の合計を返します。

使用例

import array

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

result = sum(map(abs, numbers))
    
print(result) #25

Numpy配列の場合

Numpy配列の絶対値の合計を取得する方法は、4つあります。

numpy.absolute() + sum()

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

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

absolute()の引数にnumpy配列を指定します。

そして、absolute()からsum()を呼び出します。

result = numpy.absolute(array).sum()

上記のnumpy.absolute().sum()は、absolute()の引数に指定したNumpy配列の絶対値の合計を返します。

使用例

import numpy as np

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

result = np.absolute(nums).sum()

print(result) #45

numpy.absolute() + numpy.sum()

2つ目は、numpy.absolute()とnumpy.sum()を使う方法です。

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

sum()の引数で、numpyからabsolute()を呼び出します。

そして、absolute()の引数にnumpy配列を指定します。

result = numpy.sum(numpy.absolute(array))

上記のnumpy.sum()は、numpy.absolute()の引数に指定したNumpy配列の絶対値の合計を返します。

使用例

import numpy as np

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

result = np.sum(np.absolute(nums))

print(result) #45

numpy.abs() +sum()

3つ目は、numpy.abs()とsum()を使う方法です。

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

abs()の引数にnumpy配列を指定します。

そして、abs()からsum()を呼び出します。

result = np.abs(array).sum()

上記のsum()は、numpy.abs()の引数に指定したnumpy配列の絶対値の合計を返します。

使用例

import numpy as np

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

result = np.abs(nums).sum()

print(result) #45

numpy.abs() +numpy.sum()

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

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

sum()の引数で、numpyからabs()を呼び出します。

そして、abs()の引数にnumpy配列を指定します。

result = np.sum(np.abs(array))

numpy.sum()は、numpy.abs()の引数に指定したnumpy配列の絶対値の合計を返します。

使用例

import numpy as np

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

result = np.sum(np.abs(nums))

print(result) #45

まとめ

List(リスト)とArray.arrayの絶対値の合計を取得する方法は、次の2つです。

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

Numpy配列の全要素を絶対値にする方法は、次の4つです。

  • numpy.absolute()とsum()を使う方法
  • numpy.absolute()とnumpy.sum()を使う方法
  • numpy.abs()とsum()を使う方法
  • numpy.abs()とnumpy.sum()を使う方法

コメント

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