HOWTO · Python

Ottieni la somma di una lista in Python

Scopri come sommare una lista di numeri in Python

In questa pagina

L’elenco è una delle strutture dati più comunemente utilizzate in Python. In altri linguaggi di programmazione, sono considerati array e hanno la stessa funzionalità.

Sommare una lista in Python con la funzione sum()

Il modo più semplice e semplicistico per sommare una lista in Python è usare la funzione incorporata di Python sum().

myList = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
listSum = sum(myList)
print(f"Sum of list -> {listSum}")

Produzione:

Sum of list -> 55

La funzione sum() accetta due argomenti. Il primo argomento è una struttura dati iterabile e il secondo argomento è l’indice iniziale. Una struttura dati iterabile potrebbe essere una lista di numeri, dizionari Python e tuple. E l’indice iniziale è fondamentalmente la posizione nella struttura dati iterabile da cui dovrebbe iniziare il processo di somma.

Se una lista di qualsiasi cosa diversa dai valori numerici è fornita direttamente al metodo sum(), solleverà un TypeError.

In questi casi, devi filtrare i dati o, in altre parole, preelaborare i dati.

Ad esempio, se si dispone di una lista di stringhe numeriche, è necessario prima convertire le stringhe nei loro equivalenti numerici e quindi sommarle. Fare riferimento al codice seguente per lo stesso.

myList = ["1", "3", "5", "7", "9"]
myNewList = [int(string) for string in myList]
sum1 = sum(myNewList)
sum2 = sum(number for number in myNewList)
print(f"Sum of list -> {sum1}")
print(f"Sum of list -> {sum2}")

Produzione:

Sum of list -> 25
Sum of list -> 25

Ottieni la somma di una lista per iterazione sulla lista

myList = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
listSum = 0

for number in myList:
    listSum += number

print(f"Sum of list -> {listSum}")

Produzione:

Sum of list -> 55

Il codice precedente itera su ogni elemento della lista, li aggiunge a una variabile e infine stampa la somma.

Se vuoi seguire un modo più convenzionale di iterare sugli indici e accedere agli elementi che li utilizzano, fai riferimento al seguente frammento di codice.

myList = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
length = len(myList)
listSum = 0

for i in range(length):
    listSum += myList[i]

print(f"Sum of list -> {listSum}")

Produzione:

Sum of list -> 55