Maison > développement back-end > Tutoriel Python > Comment trouver l'élément le plus courant dans une liste Python, même s'ils ne peuvent pas être hachés ?

Comment trouver l'élément le plus courant dans une liste Python, même s'ils ne peuvent pas être hachés ?

Linda Hamilton
Libérer: 2024-12-02 12:12:14
original
200 Les gens l'ont consulté

How to Find the Most Common Element in a Python List, Even If They're Not Hashable?

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

En Python, identifier l'élément le plus courant dans une liste est une tâche de programmation courante . Cependant, cela devient un défi lorsque les éléments ne sont pas hachables, ce qui empêche l'utilisation de dictionnaires.

Solution

Une solution efficace consiste à utiliser la fonction max avec une clé personnalisée . La fonction max compare généralement les éléments en fonction de leurs propriétés intrinsèques, mais nous pouvons redéfinir ce comportement en fournissant une clé personnalisée pour faciliter la comparaison en fonction de la fréquence des éléments.

Voici une implémentation concise en Python :

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

Cette solution crée d'abord un ensemble à partir de la liste d'entrée, ce qui élimine automatiquement les doublons tout en préservant l'ordre des éléments. Ensuite, la fonction max est appliquée à cet ensemble, en utilisant la méthode lst.count comme clé. La méthode lst.count renvoie le nombre d'occurrences de chaque élément de la liste d'origine. En utilisant cette méthode comme clé, la fonction max classe efficacement les éléments en fonction de leurs fréquences.

En cas d'égalité, la fonction max sélectionnera l'élément avec l'indice le plus bas dans la liste d'origine. Ce comportement garantit que, dans l'exemple donné, most_common(['duck', 'duck', 'goose']) renverra correctement 'duck'.

Cette solution offre un moyen simple et efficace de trouver le élément le plus courant dans une liste Python, même si les éléments ne sont pas hachables.

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!

source:php.cn
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