Maison >développement back-end >Tutoriel Python >Comment puis-je compter efficacement les fréquences des éléments dans une liste Python ?

Comment puis-je compter efficacement les fréquences des éléments dans une liste Python ?

Mary-Kate Olsen
Mary-Kate Olsenoriginal
2024-12-08 03:23:16823parcourir

How Can I Efficiently Count Element Frequencies in a Python List?

Comptage de la fréquence des éléments dans une liste non ordonnée

Étant donné une liste de valeurs non ordonnée, déterminer la fréquence de chaque élément est une tâche de programmation courante. Ce guide explique comment y parvenir à l'aide du module collections.Counter en Python.

Solution Utilisation de collections.Counter

Dans Python 2.7 ou version ultérieure, le module collections.Counter fournit un moyen efficace de compter occurrences d’éléments. En passant simplement votre liste comme argument au constructeur Counter, vous pouvez obtenir un objet de type dictionnaire qui mappe chaque élément unique à son nombre.

import collections

a = [5, 1, 2, 2, 4, 3, 1, 2, 3, 1, 1, 5, 2]
counter = collections.Counter(a)

Vous pouvez désormais utiliser l'objet Counter pour récupérer le fréquence de chaque élément. Voici quelques opérations courantes :

  • Obtenir les décomptes sous forme de liste : Utilisez counter.values() pour obtenir une liste de décomptes.
  • Obtenez des éléments uniques sous forme de liste : Utilisez counter.keys() pour obtenir une liste d'éléments uniques éléments.
  • Obtenez les éléments les plus courants : Utilisez counter.most_common(n) pour obtenir une liste des n éléments les plus courants.
  • Obtenez un dictionnaire de comptes : Utilisez dict(counter) pour convertir le compteur en un dictionnaire normal.
  • Obtenez les comptes dans ordre trié : Utilisez la compréhension de liste et sorted(counter.keys()) pour obtenir une liste de décomptes dans le même ordre que la liste d'origine.
[counter[x] for x in sorted(counter.keys())]

Considérations de compatibilité

Si vous utilisez Python 2.6 ou une version antérieure, vous devrez télécharger et installer l'implémentation Counter disponible en ligne.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn