math.prod() și math.sumprod() în Python

Numere și matematică Python 3.8+ (sumprod: 3.12+)

Produsul tuturor elementelor și suma produselor a două liste (produs scalar).

Sintaxă
math.prod(iterabil, *, start=1)
math.sumprod(p, q)

Ce face math.prod() și math.sumprod()

prod() înmulțește toate elementele unei colecții, pornind de la start (implicit 1); pentru o colecție goală returnează start. Este echivalentul lui sum() pentru înmulțire.

sumprod(p, q) (Python 3.12+) calculează p[0]*q[0] + p[1]*q[1] + ..., precis, de exemplu totalul unei facturi din prețuri și cantități. Cele două colecții trebuie să aibă aceeași lungime.

Parametri

Parametru Descriere
iterabil Numerele înmulțite.
start Valoarea de pornire.
p, q Pentru sumprod: cele două colecții.

Ce returnează

Un număr.

Exemple

Exemplul 1: Produs și total de factură

import math
print(math.prod([2, 3, 4]), math.prod([]), math.prod(range(1, 6)))
preturi = [4.5, 7, 32.9]
cantitati = [2, 3, 1]
print(math.sumprod(preturi, cantitati))

Rezultat

24 1 120
62.9

Greșeli frecvente

  • Dai lui sumprod liste de lungimi diferite și primești ValueError.

Comenzi înrudite

  • sum(): Adună toate numerele dintr-o colecție.
  • functools.reduce(): Reduce o colecție la o singură valoare, aplicând repetat o funcție cu două argumente.
  • math.factorial(): Calculează factorialul unui număr: n! = 1 · 2 · 3 · … · n.