A lista em python esta assim: [‘300’, ’100’, ‘100’, ‘300’], por isso ela n consegue somar com o comando “sum” alguém sabe uma maneira de tirar as aspas de dentro da lista?
Respostas
Os dados na lista dada são strings (cadeia de caracteres), não números e, por isso, não podemos utilizar a função sum() diretamente.
Primeiro vamos precisar "tratar" os dados, convertendo-os de string para inteiros (ou float). Assim, podemos percorrer os dados da lista com um laço for, converte-los com a função de casting int() e adiciona-los a uma lista auxiliar.
Nessa lista auxiliar [300 , 100 , 100 , 300], poderemos utilizar a função sum().
Veja o código abaixo, onde lista_original é a lista com os dados do tipo string e lista_conv, a lista com os dados da lista_original convertidos para inteiro.
lista_original = ['100' , '300' , '100' , '300']
lista_conv = list()
for i in lista_original:
.....lista_conv.append(int(i))
print(lista_conv)
print(sum(lista_conv))
Podemos ainda utilizar uma forma compactada para montar a lista_conv:
lista_original = ['100' , '300' , '100' , '300']
lista_conv = [int(i) for i in lista_original]
print(lista_conv)
print(sum(lista_conv))