Exemples de comment additionner tous les éléments d'une liste sous python:
Additionner tous les éléments d'une liste avec la fonction sum()
Pour sommer tous les éléments d'une liste sous python il existe la fonction "Built-in" sum(), illustration:
>>> list = [1,2,3,4]>>> sum(list)10
avec des nombres décimaux:
>>> l = [3.1,2.5,6.8]>>> sum(l)12.399999999999999
on peut aussi arrondir le résultat comme ceci (voir Floating Point Arithmetic: Issues and Limitations):
>>> round(sum(l),1)12.4
Additionner tous les éléments d'une liste avec une boucle for
Exemple de comment additionner tous les éléments d'une liste avec une boucle
>>> list = [1,2,3,4]>>> tot = 0>>> for i in list:... tot = tot + i...>>> tot10
Additionner tous les nombres d'une liste quelconque
Un autre exemple avec une liste comprenant des entiers, des nombres décimaux et des lettres:
>>> l = ['a',1,'f',3.2,4]>>> sum([i for i in l if isinstance(i, int) or isinstance(i, float)])8.2
Fusionner tous les éléments d'une liste de "string":
Pour une liste composée de "string" la fonction sum() ne marche pas:
>>> list = ['a','b','c','d']>>> sum(list)Traceback (most recent call last):File "<stdin>", line 1, in <module>TypeError: unsupported operand type(s) for +: 'int' and 'str'
Pour concaténer une liste de "string" il faut utiliser join():
>>> ','.join(list)'a,b,c,d'>>> ' '.join(list)'a b c d'
Références
| Liens | Site |
|---|---|
| Built-in Functions | |
| Summing elements in a list | stackoverflow |
| string — Common string operations | python doc |
| Joining elements of a list - Python | stackoverflow |
