sum() în Python

Funcții încorporate Python 3.0+ (start ca nume: 3.8+)

Adună toate numerele dintr-o colecție.

Sintaxă
sum(iterabil, /, start=0)

Ce face sum()

sum() adună elementele unei liste, tuplu sau generator, pornind de la start (implicit 0). Merge foarte bine cu o expresie generator: sum(p * c for p, c in cos).

Din Python 3.12, sum() adună numerele zecimale cu un algoritm mai precis; math.fsum() rămâne varianta cea mai exactă. Pentru a lipi texte folosește "".join(), nu sum().

Parametri

Parametru Descriere
iterabil Colecția de numere.
start Opțional. Valoarea de la care pornește suma. Implicit 0.

Ce returnează

Suma, ca număr.

Exemple

Exemplul 1: Total și medie

note = [9, 7, 10, 8]
print(sum(note))
print(sum(note) / len(note))
print(sum(range(1, 101)))

Rezultat

34
8.5
5050

Exemplul 2: Totalul unui coș

cos = [("pâine", 4.5, 2), ("lapte", 7, 3), ("cafea", 32.9, 1)]
total = sum(pret * cantitate for _, pret, cantitate in cos)
print(f"Total: {total:.2f} lei")

Rezultat

Total: 62.90 lei

Greșeli frecvente

  • Încerci sum(["a", "b"]) și primești TypeError. Pentru texte folosește "".join(lista).
  • Dai numere ca text dintr-un fișier. Transformă-le întâi: sum(int(x) for x in valori).

Comenzi înrudite