En additionnant les éléments dans une liste
Voici mon code, j'ai besoin de la somme d'un nombre indéterminé d'éléments dans la liste. Comment faire cela?
l = raw_input()
l = l.split(' ')
l.pop(0)
Mon entrée: 3 5 4 9
Après l'entrée j'ai supprimer le premier élément via l.pop(0)
.
Après .split(' ')
ma liste est ['5', '4', '9']
et j'ai besoin de la somme de tous les éléments dans cette liste.
Dans ce cas, la somme est de 18 ans. Veuillez noter que le nombre d'éléments n'est pas défini.
- Pourquoi le
l.pop(0)
? - quel est votre avis?
- J'ai besoin de supprimer la première entrée
- n'est-ce pas évident? est une chaîne de caractères... il a utilisé raw_input()
InformationsquelleAutor treng | 2012-07-05
Vous devez vous connecter pour publier un commentaire.
Vous pouvez additionner les nombres dans une liste simplement avec le somme() intégré:
Il somme le plus grand nombre d'articles que vous avez. Exemple:
Pour votre cas spécifique:
Pour vos données de convertir les nombres en
int
d'abord et ensuite additionner les nombres:Cela fonctionne pour undefined nombre d'éléments dans votre liste (tant qu'ils sont des "nombres")
Merci pour @senderle commentaire re de conversion dans le cas où les données sont dans un format de chaîne.
Python itératif peut être résumé comme
[sum(gamme(10)[1:])]
. Cette somme de tous les éléments de la liste, sauf le premier élément.Vous pouvez utiliser
sum
de faire la somme des éléments d'une liste, en revanche si votre liste est à venir à partir deraw_input
, vous voudrez probablement convertir les éléments deint
oufloat
première:Vous pouvez utiliser
map
de la fonction et des pythons intégrésum()
fonction. Il simplifie la solution. Et réduit la complexité.a=map(int,raw_input().split())
sum(a)
Fait!
Vous pouvez également réduire l'utilisation de la méthode:
En outre, vous pouvez modifier la fonction lambda à faire d'autres opérations sur votre liste.