Maison  >  Article  >  développement back-end  >  Comment compter et trier les mots par fréquence dans une liste en Python

Comment compter et trier les mots par fréquence dans une liste en Python

Barbara Streisand
Barbara Streisandoriginal
2024-10-21 21:38:31756parcourir

How to Count and Sort Words by Frequency in a List in Python

Compter et trier les mots par fréquence dans une liste

Cette tâche consiste à créer une structure de données qui représente efficacement la fréquence des mots dans un élément donné. liste. Une approche simple implique deux listes : une pour les mots uniques et une autre pour les fréquences correspondantes. Pour trier les mots en fonction de la fréquence, nous devons exploiter les informations stockées dans la liste de fréquences.

Implémentation de Python à l'aide de Counter

Pour implémenter cela en Python sans utiliser de fonctions avancées des constructions comme des dictionnaires, nous pouvons exploiter la classe Counter du module collections. Cette classe assure le suivi de la fréquence des mots, offrant ainsi une solution simple.

L'extrait de code ci-dessous montre comment utiliser la classe Counter :

<code class="python">from collections import Counter

list1 = ['apple', 'egg', 'apple', 'banana', 'egg', 'apple']
counts = Counter(list1)</code>

Ce code crée un objet Counter appelé counts qui contient des fréquences de mots. L'instruction print(counts) génère ce qui suit :

Counter({'apple': 3, 'egg': 2, 'banana': 1})

Par défaut, la classe Counter trie les mots par ordre alphabétique. Cependant, nous pouvons personnaliser le comportement de tri en fournissant une fonction clé comme argument à la méthode most_common(). Par exemple, pour trier les mots en fonction de la fréquence par ordre décroissant :

<code class="python">sorted_words = sorted(counts, key=lambda x: x[1], reverse=True)</code>

En résumé, la classe Counter fournit un moyen efficace de compter et de trier les mots en fonction de la fréquence, sans avoir besoin de structures de données complexes comme dictionnaires.

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