Pythonでは、様々な書き方で「リスト内の全ての要素を掛け算(総乗を計算)する」ことができます。
本記事では「リスト内の全ての要素を掛け算(総乗を計算)する」4つの書き方を紹介します。
for文を使用する方法
mylist = [1, 2, 3, 4] prod = 1 for num in mylist: prod *= num print(prod) # 24
一番泥臭い方法ですね。
math.prod() 関数を使用する方法
import math mylist = [1, 2, 3, 4] print(math.prod(mylist)) # 24
python3.8以降であればmath.prod()関数が利用できます。
python3.8より前のバージョンでは以下のようにエラーとなってしまいます。
Traceback (most recent call last): File "<stdin>", line 1, in <module> AttributeError: module 'math' has no attribute 'prod'</module>
numpyを使用する方法
import numpy as np mylist = [1, 2, 3, 4] print(np.prod(mylist)) # 24
python3.8より前のバージョンではnumpyのprod関数が使えます。
reduceを使用する方法
from functools import reduce from operator import mul mylist = [1, 2, 3, 4] print(reduce(mul, mylist)) # 24
Pythonではreduceはあまり使われませんが、一応このような書き方もできます。