[Python]配列(Array)の全要素を二乗するには?

python

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

配列(Array)の全要素を二乗する方法を紹介します。

スポンサーリンク

方法

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

リスト(list)

リスト(List)の全要素を二乗する方法は、4つあります。

forループ

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

まず、変数に[]を代入します。

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

ループ処理で、リストの要素を2乗します。

result = [i ** 2 for i in list]

上記の[]は、forループしたリスト(List)の全要素を二乗したリスト(List)を生成します。

使用例

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

result = [i ** 2 for i in numbers]

print(result) #[1, 4, 9, 16, 25]

map()

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

まず、list()を呼び出し、引数でmap()を呼び出します。

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

そして、map()のラムダ式で、「**」で引数を2乗します。

result = list(map(lambda x: x ** 2, list))

上記の「list(map())」は、map()の第2引数に指定したリストの全要素を二乗したリスト(List)を返します。

使用例

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

result = list(map(lambda x: x ** 2, numbers))

print(result) #[1, 4, 9, 16, 25]

numpy.ndarray

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

まず、list()を呼び出し、引数でnumpy.ndarrayをリスト(List)から生成します。

そして、生成したnumpy.ndarrayを二乗します。

result = list(numpy.array(list) ** 2)

上記の「list()」は、numpy.ndarrayの元となったリストの全要素を二乗したリスト(List)を返します。

使用例

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

result = list(np.array(numbers) ** 2)

print(result) #[1, 4, 9, 16, 25]

numpy.square()

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

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

list()の引数でnumpy.square()を呼び出します。

そして、numpy.square()の引数にリスト(list)を指定します。

result = list(numpy.square(list))

上記の「list()」は、numpy.square()の引数に指定したリスト(List)の全要素を2乗したリストを生成します。

使用例

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

result = list(np.square(numbers))

print(result) #[1, 4, 9, 16, 25]

Array.array

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

forループ

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

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

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

ループ処理で、Array.arrayの要素を2乗します。

result = array.array('i', [i ** 2 for i in array])

上記のarray.array(‘t’, [])は、forループしたリスト(List)の全要素を二乗したArray.arrayを生成します。

使用例

import array

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

result = array.array('i', [i ** 2 for i in numbers])
    
print(result) #array('i', [1, 4, 9, 16, 25])

map()

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

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

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

そして、map()のラムダ式で、「**」で引数を2乗します。

result = array.array('i', map(lambda x: x**2, 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**2, numbers))
    
print(result) #array('i', [1, 4, 9, 16, 25])

numpy.ndarray

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

まず、Array.array(‘t’)を呼び出し、第2引数でnumpy.ndarrayをArray.arrayから生成します。

そして、生成したnumpy.ndarrayを二乗します。

result = array.array('i', np.array(array) ** 2)

上記の「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) ** 2)
    
print(result) #array('i', [1, 4, 9, 16, 25])

numpy.square()

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

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

array.array(‘t’)の第2引数でnumpy.square()を呼び出します。

そして、numpy.square()の引数にArray.arrayを指定します。

result = array.array('i', np.square(array))

上記のarray.array(‘t’)は、numpy.square()の引数に指定したArray.arrayの全要素を2乗したArray.arrayを生成します。

使用例

import array
import numpy as np

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

result = array.array('i', np.square(numbers))
    
print(result) #array('i', [1, 4, 9, 16, 25])

Numpy配列(Array)

Numpy配列の全要素を二乗する方法は、2つあります。

**

1つは、「**」演算子を使う方法です。

具体的には、「**」の左辺にNumpy配列、右辺に「2」を記述し、演算します。

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

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

result = array ** 2

上記の演算の結果は、「**」左辺のNumpy配列の全要素を二乗したnumpy配列です。

使用例

import numpy as np

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

result = numbers ** 2

print(result) #[ 1  4  9 16 25]

numpy.square()

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

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

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

result = numpy.square(array)

上記のnumpy.square()は、引数に指定したnumpy配列の全要素を二乗したnumpy配列を返します。

使用例

import numpy as np

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

result = np.square(numbers)

print(result) #[ 1  4  9 16 25]

まとめ

リスト(List)とArray.arrayの全要素を二乗する方法は、次の4つです。

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

Numpy配列の全要素を二乗する方法は、次の2つです。

  • 「**」を使う方法
  • numpy.square()を使う方法

コメント

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