Maison > développement back-end > Tutoriel Python > Comment trouver efficacement l'élément le plus courant dans une liste Python, même avec des éléments non hachables ?

Comment trouver efficacement l'élément le plus courant dans une liste Python, même avec des éléments non hachables ?

Susan Sarandon
Libérer: 2024-11-24 15:02:11
original
367 Les gens l'ont consulté

How to Efficiently Find the Most Common Element in a Python List, Even With Non-Hashable Items?

Trouver efficacement l'élément le plus courant dans une liste

En Python, déterminer l'élément le plus fréquent dans une liste peut poser un défi, surtout lorsque les éléments de la liste ne peuvent pas être hachés. Pour résoudre ce problème, nous présentons une approche efficace qui donne la priorité à l'élément avec l'indice le plus bas en cas d'égalité.

Considérez la fonction Python suivante :

def most_common(lst):
    return max(set(lst), key=lst.count)
Copier après la connexion

Cette fonction fonctionne en éliminant les doublons de la liste d'entrée lst en la convertissant en un ensemble. La fonction max() est ensuite utilisée pour identifier l'élément avec le nombre le plus élevé de l'ensemble. Le paramètre clé spécifie que la comparaison doit être basée sur le nombre de chaque élément, tel que déterminé par la méthode lst.count.

Pour illustrer, considérons ces exemples :

>>> most_common(['duck', 'duck', 'goose'])
'duck'
Copier après la connexion

Dans ce Par exemple, « canard » apparaît deux fois, tandis que « oie » n'apparaît qu'une seule fois. Par conséquent, « canard » est renvoyé comme élément le plus courant.

>>> most_common(['goose', 'duck', 'duck', 'goose'])
'goose'
Copier après la connexion

Dans ce scénario, « oie » et « canard » apparaissent deux fois. Cependant, comme « goose » possède un indice inférieur, il est renvoyé comme l'élément le plus commun.

Cette approche trouve efficacement l'élément le plus courant dans une liste, même lorsque les éléments ne sont pas hachables, et donne la priorité aux éléments les plus courants. article avec l'indice le plus bas en cas d'égalité.

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 de ce site Web
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
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal