Python Glossary English

Python 3.12+Числа и математикафункция

math.sumprod

произведение

Сумма попарных произведений двух последовательностей (скалярное произведение, 3.12+).

Синтаксис

math.sumprod(...)

В отличие от zip, разная длина последовательностей — не молчаливое усечение, а ValueError. Для float результат обычно точнее, чем sum(a * b for a, b in zip(p, q)), потому что накопление ведётся с повышенной точностью; для int арифметика остаётся целочисленной и точной.

Примеры

import math
print(math.sumprod((1, 2, 3), (4, 5, 6)))   # → 32
print(math.sumprod([100, 250, 30], [2, 1, 5]))   # → 600
print(math.sumprod([], []))   # → 0
print(math.sumprod([1, 2, 3], [4, 5, 6]) == sum(x * y for x, y in zip([1, 2, 3], [4, 5, 6])))   # → True
print(math.sumprod([1, 2, 3], [4, 5]))   # → ValueError

См. также

Частые ошибки

Открыть в полном глоссарииdocs.python.orgСообщить о неточности