Compte de fréquence des éléments en Python
Comment compter efficacement les occurrences de chaque mot unique dans une liste donnée ? Considérez le code suivant :
<code class="python">words = "apple banana apple strawberry banana lemon" uniques = set(words.split()) freqs = [(item, words.split().count(item)) for item in uniques] print(freqs)</code>
Bien que cette méthode fonctionne, elle nécessite deux itérations dans la liste, une fois pour créer l'ensemble de mots unique et une autre fois pour compter les apparitions. Pouvons-nous optimiser cela ?
Solution : Utiliser la classe Counter
Le module collections Python fournit une classe Counter spécialement conçue pour cette tâche. Voici comment vous pouvez l'utiliser :
<code class="python">from collections import Counter words = "apple banana apple strawberry banana lemon" Counter(words.split()) # Output: Counter({'apple': 2, 'banana': 2, 'strawberry': 1, 'lemon': 1})</code>
La classe Counter compte les occurrences de chaque élément dans l'itérable fourni, ce qui donne lieu à un dictionnaire où les clés sont des éléments uniques et les valeurs sont leurs comptes. Cette approche est plus efficace car elle ne nécessite qu'une seule itération dans la liste d'entrée.
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!