Compter les occurrences d'un élément dans une liste Python
Cet article explique comment compter les occurrences d'un élément dans une liste Python.
1. Utilisation count()
fonction
Pour obtenir le nombre total d'occurrences d'un élément dans une liste, vous pouvez utiliser la fonction count()
fonction.
1 2 3 4 5 6 7 8 |
if __name__ == '__main__': ints = [1, 2, 3, 4, 2, 1] item = 2 freq = ints.count(item) print(freq) # 2 |
2. Utilisation collections.Counter
Pour obtenir le nombre total d'occurrences de chaque élément d'une liste, vous pouvez utiliser la commande Counter
classe de la collections
module. C'est la solution recommandée lorsque vous avez besoin du nombre de plusieurs éléments de la liste.
Pour obtenir le nombre total d'occurrences pour n'importe quel élément de la liste, vous pouvez utiliser la commande get()
fonction, comme indiqué ci-dessous :
1 2 3 4 5 6 7 8 9 10 |
from collections import Counter if __name__ == '__main__': ints = [1, 2, 3, 4, 5] item = 3 freq = Counter(ints).get(item) print(freq) # 1 |
3. Utilisation dictionary
Enfin, vous pouvez créer une carte de fréquence à l'aide d'un dictionnaire. L'exemple suivant le démontre.
1 2 3 4 5 6 7 8 |
if __name__ == '__main__': ints = [1, 2, 3, 4, 5, 3] item = 3 freq = dict((i, ints.count(i)) for i in set(ints)) print(freq.get(item)) # 2 |
Cependant, cela n'est pas recommandé pour les grandes listes. La complexité temporelle de la solution ci-dessus est quadratique puisque la count()
La fonction est appelée une fois pour chaque élément distinct de la liste. Vous pouvez améliorer les performances en créant manuellement la carte de fréquence, comme indiqué ci-dessous :
1 2 3 4 5 6 7 8 9 10 11 |
if __name__ == '__main__': ints = [1, 2, 3, 4, 5, 3] item = 3 freq = {} for i in ints: freq[i] = freq.setdefault(i, 0) + 1 print(freq.get(item)) # 2 |
Il s'agit de compter les occurrences d'un élément dans une liste en Python.
Trouver l'index de toutes les occurrences d'un élément dans une liste Python
Compter les occurrences d'un caractère dans une string Python
Supprimer toutes les occurrences d'un élément d'une liste Python