[Python]タプルで要素同士の掛け算の積を取得するには?

python

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

タプル(Tuple)で要素同士の掛け算の積を取得する方法を紹介します。

スポンサーリンク

方法

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

タプル(Tuple)で要素同士の掛け算の積を取得する方法は、4つあります。

for文

1つ目は、for文を使う方法です。

まず、初期値「1」の変数を用意します。

result = 1

for文でタプルをループします。

そして、for文のループ処理で、用意した変数にタプルの要素を掛けます。

for x in my_tuple:
    result *= x

上記のfor文は、用意した変数をタプルの要素同士の掛け算の積にします。

使用例

numbers = (1, 2, 3, 4, 5)

result = 1

for x in numbers:
    result *= x

print(result)
出力: 120

functools.reduce()

2つ目は、functools.reduce()を使う方法です。

まず、functoolsからreduceをインポートします。

from functools import reduce

reduce()を呼び出します。

reduce()の第1引数に2つの引数を持つラムダ式、第2引数にタプルを指定します。

そして、reduce()の第1引数のラムダ式で、2つの引数の積を返します。

result = reduce(lambda x, y: x * y, my_tuple)

上記のreduce()は、第2引数に指定したタプルから要素同士の掛け算の積を取得します。

使用例

from functools import reduce

numbers = (1, 2, 3, 4, 5, 6)

result = reduce(lambda x, y: x * y, numbers)

print(result)
出力: 720

math.prod()

3つ目は、math.prod()を使う方法です。

まず、mathをインポートします。

import math

mathからprod()を呼び出します。

そして、prod()の引数にタプルを指定します。

result = math.prod(my_tuple)

上記のmath.prod()は、引数に指定したタプルから要素同士の掛け算の積を取得します。

使用例

import math

numbers = (1, 2, 3, 4, 5, 6, 7)

result = math.prod(numbers)

print(result)
出力: 5040

numpy.prod()

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

まず、numpyをインポートします。

import numpy as np

numpyからprod()を呼び出します。

そして、prod()の引数にタプルを指定します。

result = np.prod(my_tuple)

上記のnumpy.prod()は、引数に指定したタプルから要素同士の掛け算の積を取得します。

使用例

import numpy as np

numbers = (1, 2, 3, 4, 5, 6, 7, 8)

result = np.prod(numbers)

print(result)
出力: 40320

まとめ

タプル(Tuple)で要素同士の掛け算の積を取得する方法は、次の4つです。

  • for文を使う方法
  • functools.reduce()を使う方法
    result = reduce(lambda x, y: x * y, my_tuple)
  • math.prod()を使う方法
    result = math.prod(my_tuple)
  • numpy.prod()を使う方法
    result = np.prod(my_tuple)

コメント

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