"Si un ouvrier veut bien faire son travail, il doit d'abord affûter ses outils." - Confucius, "Les Entretiens de Confucius. Lu Linggong"
Page de garde > La programmation > Comment puis-je compter efficacement les occurrences d’éléments en Python ?

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

Publié le 2024-11-07
Parcourir:145

How Can I Efficiently Count Item Occurrences in Python?

Compte 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 illustre son utilisation :

from collections import Counter

words = "apple banana apple strawberry banana lemon"
Counter(words.split())

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 :

Counter({'apple': 2, 'banana': 2, 'strawberry': 1, 'lemon': 1})

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 éléments.

Dernier tutoriel Plus>

Clause de non-responsabilité: Toutes les ressources fournies proviennent en partie d'Internet. En cas de violation de vos droits d'auteur ou d'autres droits et intérêts, veuillez expliquer les raisons détaillées et fournir une preuve du droit d'auteur ou des droits et intérêts, puis l'envoyer à l'adresse e-mail : [email protected]. Nous nous en occuperons pour vous dans les plus brefs délais.

Copyright© 2022 湘ICP备2022001581号-3