どうも、ちょげ(@chogetarou)です。
配列(Array)の全要素を絶対値にする方法を紹介します。
方法

List(リスト)
List(リスト)の全要素を絶対値にする方法は、2つあります。
forループ + abs()
1つは、forループとabs()を使う方法です。
まず、リストに[]を代入します。
そして、[]内でリストをforループします。
ループ処理で、abs()を呼び出し、abs()の引数にリストの要素を指定します。
result = [abs(i) for i in list]
上記の[]は、forループしたリストの全要素を絶対値に変換した新しいリストを生成します。
使用例
numbers = [-1, 2, -3, 4, -5]
numbers = [abs(i) for i in numbers]
print(numbers) #[1, 2, 3, 4, 5]
map() + abs()
もう1つは、map() + abs()を使う方法です。
まず、mapを呼び出します。
mapの第1引数にabs、第2引数にリスト(List)を指定します。
そして、mapの戻り値をListに変換し、リストに代入します。
result = list(map(abs, list))
上記のlist(map())は、map()の第2引数に指定したリストの全要素を絶対値に変換した新しいリストを生成します。
使用例
numbers = [-1, 2, -3, 4, -5]
numbers = list(map(abs, numbers))
print(numbers) #[1, 2, 3, 4, 5]
Array.array
Array.arrayの全要素を絶対値にする方法は、2つあります。
forループ + abs()
1つは、forループとabs()を使う方法です。
まず、array.arrayに「array.array(‘t’, [])」を代入します。
そして、「array.array(‘t’, [])」の第2引数の[]内でarray.arrayをforループします。
ループ処理で、abs()を呼び出し、abs()の引数にarray.arrayの要素を指定します。
#tは型
result = array.array('t', [abs(i) for i in array])
上記の「array.array(‘t’, [])」は、forループしたarray.arrayの全要素を絶対値に変換した新しいarray.arrayを生成します。
使用例
import array
numbers = array.array('i', [1, -2, 3, -4, 5, -10])
numbers = array.array('i', [abs(i) for i in numbers])
print(numbers) #array('i', [1, 2, 3, 4, 5, 10])
map() + abs()
もう1つは、map() + abs()を使う方法です。
まず、変数にarray.array(‘t’)を代入します。
そして、array.array(‘t’)の第2引数でmap()を呼び出します。
mapの第1引数にabs、第2引数にarray.arrayを指定します。
result = array.array('t', map(abs, array))
上記のarray.array(‘t’, map())は、map()の第2引数に指定したarray.arrayの全要素を、絶対値に変換した新しいarray.arrayを生成します。
使用例
import array
numbers = array.array('i', [1, -2, 3, -4, 5, -10])
numbers = array.array('i', map(abs, numbers))
print(numbers) #array('i', [1, 2, 3, 4, 5, 10])
Numpy配列

Numpy配列の全要素を絶対値にする方法は、2つあります。
numpy.absolute()
1つは、numpy.absolute()を使う方法です。
まず、numpyからabsolute()を呼び出します。
そして、absolute()の引数にnumpy配列を指定します。
result = numpy.absolute(array)
numpy.absolute()は、引数に指定したNumpy配列の全要素を絶対値に変換したNumpy配列を返します。
使用例
import numpy as np
nums = np.array([[-1, -2, 3],
[4, -5, -6],
[7, 8, -9],] )
result = np.absolute(nums)
print(result)
#[[1 2 3]
# [4 5 6]
# [7 8 9]]
numpy.abs()
もう1つは、numpy.abs()を使う方法です。
まず、numpyからabs()を呼び出します。
そして、abs()の引数にnumpy配列を指定します。
result = np.abs(array)
numpy.abs()は、引数に指定したnumpy配列の全要素を絶対値に変換した新しいnumpy配列を生成します。
使用例
import numpy as np
nums = np.array([[-1, -2, 3],
[4, -5, -6],
[7, 8, -9],] )
result = np.abs(nums)
print(result)
#[[1 2 3]
# [4 5 6]
# [7 8 9]]
まとめ
List(リスト)の全要素を絶対値にする方法は、次の2つです。
- forループとabs()を使う方法
- map()とabs()を使う方法
Array.arrayの全要素を絶対値にする方法は、次の2つです。
- forループとabs()を使う方法
- map()とabs()を使う方法
Numpy配列の全要素を絶対値にする方法は、次の2つです。
- numpy.absolute()を使う方法
- numpy.abs()を使う方法
コメント