Maison  >  Article  >  développement back-end  >  Comment puis-je compter efficacement les occurrences d’éléments en Python ?

Comment puis-je compter efficacement les occurrences d’éléments en Python ?

Linda Hamilton
Linda Hamiltonoriginal
2024-11-03 23:47:30695parcourir

How Can I Efficiently Count Item Occurrences in Python?

Comptage de fréquence d'éléments en Python avec une efficacité améliorée

Compter l'occurrence d'éléments dans une liste est une tâche de programmation courante. Cette question explore une approche plus efficace de ce problème en Python.

Le code initial présenté, bien que fonctionnel, implique de parcourir la liste deux fois, ce qui conduit à des performances sous-optimales. Le principal défi consiste à trouver un moyen pythonique de compter les occurrences d'éléments sans passages redondants dans la liste.

La solution réside dans l'utilisation de la classe Counter du module collections. Spécialement conçu pour le comptage de fréquence, Counter offre un moyen concis et efficace d'obtenir le résultat souhaité. Le code suivant démontre son utilisation :

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

words = "apple banana apple strawberry banana lemon"
Counter(words.split())</code>

Cet extrait de code divise la chaîne d'entrée en mots individuels et transmet la liste résultante à Counter. Le résultat est un objet de type dictionnaire dans lequel les clés représentent des mots uniques et les valeurs représentent leurs nombres correspondants. Dans cet exemple, le résultat serait :

<code class="python">Counter({'apple': 2, 'banana': 2, 'strawberry': 1, 'lemon': 1})</code>

La classe Counter utilise en interne une table de hachage pour stocker les données, fournissant des opérations de recherche et d'insertion en temps constant. Cette approche élimine le besoin d'une deuxième itération et améliore considérablement les performances du décompte de la fréquence des articles.

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