Obtenha a soma de uma lista em Python
A lista é uma das estruturas de dados mais comumente usadas em Python. Em outras linguagens de programação, eles são considerados arrays e têm a mesma funcionalidade.
Some uma lista em Python com a função sum()
A maneira mais básica e simplista de somar uma lista em Python é usar a função integrada do Python sum()
.
myList = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
listSum = sum(myList)
print(f"Sum of list -> {listSum}")
Resultado:
Sum of list -> 55
A função sum()
aceita dois argumentos. O primeiro argumento é uma estrutura de dados iterável e o segundo argumento é o índice inicial. Uma estrutura de dados iterável pode ser uma lista de números, dicionários Python e tuplas. E o índice inicial é basicamente a posição na estrutura de dados iterável de onde o processo de soma deve começar.
Se uma lista de qualquer coisa diferente de valores numéricos for fornecida diretamente para o método sum()
, ele levantará um TypeError
.
Nesses casos, você deve filtrar os dados ou, outras palavras, pré-processar os dados.
Por exemplo, se você tiver uma lista de strings numéricas, deve primeiro converter as strings em seus equivalentes numéricos e, em seguida, somá-los. Consulte o seguinte código para o mesmo.
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}")
Resultado:
Sum of list -> 25
Sum of list -> 25
Obter soma de uma lista por iteração sobre a 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}")
Resultado:
Sum of list -> 55
O código acima itera sobre cada elemento da lista, adiciona-os a uma variável e, finalmente, imprime a soma.
Se você deseja seguir uma maneira mais convencional de iterar os índices e acessar os elementos usando-os, consulte o seguinte trecho de código.
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}")
Resultado:
Sum of list -> 55