Python: リスト内の全ての要素を掛け算する

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はあまり使われませんが、一応このような書き方もできます。

コメントする

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です