python - multiplicar - Sumar elementos en una lista
suma de elementos de una matriz en python (5)
Aquí está mi código, necesito sumar un número indefinido de elementos en la lista. ¿Como hacer esto?
l = raw_input()
l = l.split('' '')
l.pop(0)
Mi entrada: 3 5 4 9
Después de la entrada, borro el primer elemento a través de l.pop(0)
. Después de .split('' '')
mi lista es [''5'', ''4'', ''9'']
y necesito sumar todos los elementos en esta lista.
En este caso, la suma es 18. Tenga en cuenta que la cantidad de elementos no está definida.
Puede sumar números en una lista simplemente con la suma () incorporada:
sum(your_list)
Sumará tantos ítems numéricos como usted tenga. Ejemplo:
my_list = range(10, 17)
my_list
[10, 11, 12, 13, 14, 15, 16]
sum(my_list)
91
Para su caso específico :
Para sus datos convierta primero los números en int
y luego sume los números:
data = [''5'', ''4'', ''9'']
sum(int(i) for i in data)
18
Esto funcionará para un número indefinido de elementos en su lista (siempre que sean "números")
Gracias por el comentario de conversión de @ senderle en caso de que los datos estén en formato de cadena.
Puede usar sum
para sumar los elementos de una lista; sin embargo, si su lista proviene de raw_input
, probablemente desee convertir los elementos a int
o float
primero:
l = raw_input().split('' '')
sum(map(int, l))
>>> l = raw_input()
1 2 3 4 5 6 7 8 9 10
>>> l = l.split()
>>> l.pop(0)
''1''
>>> sum(map(int, l)) #or simply sum(int(x) for x in l) , you''ve to convert the elements to integer first, before applying sum()
54
Python iterable se puede [sum(range(10)[1:])]
como así - [sum(range(10)[1:])]
. Esto suma todos los elementos de la lista excepto el primer elemento.
>>> atuple = (1,2,3,4,5)
>>> sum(atuple)
15
>>> alist = [1,2,3,4,5]
>>> sum(alist)
15
Puede usar la función de map
y la función de sum()
incorporada de pitones sum()
. Simplifica la solución. Y reduce la complejidad.
a=map(int,raw_input().split())
sum(a)
¡Hecho!