[Python]配列(Array)から最大の絶対値を取得するには?

python

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

配列(Array)から最大の絶対値を取得する方法を紹介します。

スポンサーリンク

方法

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

リスト(List)の場合

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

max() + forループ

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

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

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

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

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

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

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

使用例

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

result = max([abs(i) for i in numbers])
    
print(result) #5

max() + map()

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

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

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

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

result = max(map(abs, list))

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

使用例

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

result = max(map(abs, numbers))
    
print(result) #5

Array.arrayの場合

Array.arrayから最大の絶対値を取得する方法は、2つあります。

max() + forループ

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

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

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

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

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

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

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

使用例

import array

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

result = max([abs(i) for i in numbers])
    
print(result) #10

max() + map()

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

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

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

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

result = max(map(abs, array))

上記のmax()は、map()の第2引数に指定したArray.arrayの最大の絶対値を返します。

使用例

import array

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

result = max(map(abs, numbers))
    
print(result) #10

Numpy配列の場合

Numpy配列から最大の絶対値を取得する方法は、2つあります。

numpy.abs() + max()

1つは、numpy.abs()とmax()を使う方法です。

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

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

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

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

上記のnp.abs(array).max()は、abs()の引数に指定したnumpy配列の最大の絶対値を返します。

max()の代わりにNumpyのmax()を使うことができます。

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

使用例

import numpy as np

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

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

print(result) #9

numpy.absolute() + max()

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

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

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

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

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

上記のnp.absolute().max()は、absolute()の引数に指定したNumpy配列の最大の絶対値を返します。

max()の代わりにNumpyのmax()を使うことができます。

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

使用例

import numpy as np

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

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

print(result) #9

まとめ

リスト(List)もしくはArray.arrayから最大の絶対値を取得する方法は、次の2つです。

  • max()とforループ関数を使う方法
  • max()とmap()を使う方法

Numpy配列から最大の絶対値を取得する方法は、次の2つです。

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

コメント

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