Comment puis-je compter les occurrences d'un élément de liste ?

Étant donné un élément, comment puis-je compter ses occurrences dans une liste en Python ?

Solution

Si vous ne voulez que le compte d'un seul élément, utilisez la méthode count :

>>> [1, 2, 3, 4, 1, 4, 1].count(1)
3

Ne l'utilisez pas si vous voulez compter plusieurs éléments. Appeler count dans une boucle nécessite un passage séparé sur la liste pour chaque appel count, ce qui peut être catastrophique pour les performances. Si vous voulez compter tous les éléments, ou même seulement plusieurs éléments, utilisez Counter, comme expliqué dans les autres réponses.

Commentaires (1)

Si vous utilisez Python 2.7 ou 3 et que vous voulez le nombre d'occurrences pour chaque élément :

>>> from collections import Counter
>>> z = ['blue', 'red', 'blue', 'yellow', 'blue', 'red']
>>> Counter(z)
Counter({'blue': 3, 'red': 2, 'yellow': 1})
Commentaires (4)

list.count(x) renvoie le nombre de fois où x apparaît dans une liste.

voir : http://docs.python.org/tutorial/datastructures.html#more-on-lists

Commentaires (0)