Compter plusieurs objets répétitifs en une seule fois a été un problème massif dans le paysage de la programmation. Heureusement, Python fournit plusieurs techniques et outils dont on peut tirer parti pour résoudre ce problème. Le compteur que Python fournit à partir de ses collections offre une solution pythonique, efficace et propre.
Cette sous-classe offre d’excellentes fonctionnalités de comptage dès le départ, ce que les programmeurs recherchent toujours. Comprendre ce qu’est un compteur Python et l’utiliser efficacement est une compétence pratique que les développeurs Python doivent apprendre.
Comment Python compte les objets
Il existe de nombreuses situations où les gens doivent compter le nombre d’objets présents dans une source de données afin de connaître leur fréquence d’apparition. En d’autres termes, vous voulez savoir quelle est leur fréquence. Par exemple, vous pouvez vouloir déterminer la fréquence d’apparition d’un élément particulier dans une séquence de valeurs ou une liste. Le comptage des éléments peut être incroyablement rapide et simple, en particulier lorsque les listes sont courtes. En revanche, le comptage peut devenir très long et compliqué lorsqu’il s’agit d’une longue liste.
Les gens utilisent généralement un compteur pour compter efficacement les objets. Pour ceux qui se posent la question, un compteur est une variable entière dont la valeur initiale est zéro. Après le comptage, vous devez incrémenter le compteur que vous utilisez pour refléter le nombre de fois qu’un certain objet apparaît dans la source de données (entrée).
Lorsque vous comptez le nombre de fois qu’un objet apparaît, l’idéal est d’utiliser un seul compteur. Cependant, compter de nombreux objets est totalement différent car vous devez former un compteur pour chaque objet unique que vous comptez. L’utilisation d’un dictionnaire Python serait un choix judicieux si vous souhaitez compter plusieurs objets en une seule fois.
Les clés du dictionnaire vous aideront à enregistrer tout objet que vous avez l’intention de compter. De plus, les valeurs du dictionnaire peuvent garder la trace des répétitions d’un objet, ce qui rend le processus de comptage relativement simple.
Par exemple, si vous voulez utiliser un dictionnaire pour compter des objets qui sont sous forme séquentielle, il serait préférable de boucler sur toute la séquence et de vérifier si l’objet en question se trouve dans le dictionnaire pour initialiser la paire clé-valeur. Une fois que c’est le cas, vous pouvez incrémenter le compte en fonction de la situation.
Comment fonctionne le compteur Python
Comme mentionné précédemment, le compteur est essentiellement une sous-classe du dictionnaire Python, particulièrement conçu pour compter les objets hachables présents dans le programme Python. Ce dictionnaire conserve des objets comme les comptes et les clés sous forme de valeurs. Si vous voulez utiliser le compteur, vous devez offrir un itérable ou une séquence de divers objets hachables, qui agira comme un argument critique envers le constructeur de la classe.
Le compteur itère initialement à l’aide de la séquence d’entrée, puis il compte le nombre de fois qu’un certain objet apparaît. Maintenant, discutons des techniques courantes que les programmeurs utilisent pour construire des compteurs :
Construction de comptoirs
Vous pouvez utiliser plusieurs techniques pour développer des instances de compteur, mais si votre objectif principal est de compter plusieurs objets simultanément, il serait préférable d’utiliser un itérable ou une séquence pour commencer le comptage.
Mise à jour des comptages d’objets
Après avoir obtenu une instance de compteur, utilisez la commande .update() pour la mettre à jour avec de tout nouveaux comptes et objets. Au lieu de remplacer les valeurs, l’implémentation de .update() que fournit counter s’assure que les comptes existants sont ensemble. Elle développe également de nouvelles paires de comptages clés chaque fois que cela est nécessaire.
Les programmeurs peuvent utiliser la commande .update() avec les mappings et les itérables comme arguments. N’oubliez pas que si vous utilisez une table itérative, cette méthode comptera les éléments, après quoi elle mettra à jour le compteur.
Compteur avec String
Python considère tout comme un objet, y compris les chaînes de caractères. Vous pouvez facilement créer une chaîne Python en regroupant les caractères à l’aide de guillemets doubles. Il est bon de rappeler que, puisque Python ne reconnaît pas les types de caractères, il traite les chaînes comme une seule, ce qui, dans le monde de la programmation, est appelé substring.
L’exemple mentionné ci-dessous présente une chaîne de caractères qui a passé le compteur. En plus de renvoyer le format du dictionnaire en utilisant la paire clé-valeur, il prend également en compte le rythme.
from collections import Counter
my_str = “Bienvenue dans l’apprentissage de la programmation !”
print(Compteur(ma_str))
Sortie :
Counter({‘o’ : 3, ‘ ‘ : 3, ‘u’ : 3, ‘e’ : 2, ‘l’ : 2, ‘t’ : 2, ‘r’ : 2, ‘9’ : 2, ‘W’ : 1,
‘c’ : 1, ‘m’ : 1, ‘G’ : 1, ‘T’ : 1, ‘i’ : 1, “a” : 1, “s” : 1, ‘!’ : 1})
Compteur avec dictionnaire
Le dictionnaire contient des éléments sous la forme d’une paire clé-valeur. Vous devez écrire ces éléments entre crochets. Le dictionnaire se convertit en objets hashtable après être allé vers le compteur. Pendant ce temps, les éléments se transforment en clés. Voici un exemple pour rendre les choses plus claires :
from collections import Counter
dict1 = {‘x’ : 4, ‘y’ : 2, ‘z’ : 2, ‘z’ : 2}
print(Compteur(dict1))
Sortie :
Counter({‘x’ : 4, ‘y’ : 2, ‘z’ : 2})
Contrer avec Tuple
Le tuple, à la base, est un groupe d’objets séparés à l’aide de virgules présentes entre parenthèses. Counter offre le compte pour chaque élément dans le tuple. Le tuple devient un objet hachable après son passage dans le compteur, tandis que les éléments qui le composent finissent par devenir des clés et que les valeurs représentent le nombre total d’éléments.
Python Counter – Quels sont les principaux points à retenir ?
Dans cet article, nous avons discuté de ce qu’est Python Counter et de sa façon d’aider les gens à compter les nombreux objets présents dans un itérable. Voici les principaux points à retenir de ce que nous avons appris.
- Counter utilise des objets dict, des listes, des chaînes de caractères et d’autres itérables pour compter les objets, à condition qu’ils soient hachables.
- Vous devez utiliser la commande most_common si vous voulez trouver des éléments communs dans les objets de la collection.
- Lorsqu’ils utilisent la classe Counter, les programmeurs peuvent rencontrer des erreurs si un élément non hachable est présent dans l’objet conteneur (par exemple, un objet liste). Vous pouvez résoudre ce problème en prenant un élément de liste et en le convertissant en Tuple avant de le passer à la classe Counter.