Python 3.8+mathпонятие
math.prod
агрегация
Возвращает произведение всех элементов итерируемого. Python 3.8+. math.prod([2, 3, 4]) → 24.
Синтаксис
math.prod(iterable, start=1)
У пустого итерируемого произведение равно start, то есть 1 — это математическая договорённость, а не баг; если по условию задачи пустой вход должен давать 0, проверяйте его сами. Аргумент start здесь умножается, а не прибавляется, как в sum(). На целых результат точный при любой длине чисел, а на float ошибки округления копятся, поэтому факториал лучше считать через math.factorial().
Примеры
import math
print(math.prod([1,2,3,4,5])) # → 120
print(math.prod(range(1,6))) # → 120 (= 5!)
print(math.prod([1.5, 2.0, 3.0])) # → 9.0
print(math.prod([2]*10)) # → 1024 (2^10)
print(math.prod([], start=5)) # → 5
print(math.prod(range(1,8))) # → 5040 (= 7!)
См. также
Открыть в полном глоссарииdocs.python.orgСообщить о неточности