Maison >développement back-end >Tutoriel Python >Comment trier une liste de dictionnaires par valeur en Python ?

Comment trier une liste de dictionnaires par valeur en Python ?

Susan Sarandon
Susan Sarandonoriginal
2024-12-18 14:01:10772parcourir

How to Sort a List of Dictionaries by Value in Python?

Tri d'une liste de dictionnaires par valeur de dictionnaire en Python

Tri d'une liste de dictionnaires par valeur d'une clé spécifique est une tâche courante en programmation Python. Cela vous permet d'organiser les dictionnaires dans un ordre significatif, par exemple par ordre alphabétique par nom ou numériquement par âge.

Solution

Pour trier une liste de dictionnaires par valeur d'une clé spécifique, vous pouvez utiliser la fonction sorted() avec le paramètre key=. Ce paramètre prend une fonction qui extrait la valeur de la clé souhaitée de chaque dictionnaire.

Utiliser une fonction Lambda

Une façon de procéder consiste à utiliser une fonction lambda , qui est une fonction anonyme sans nom. Par exemple, pour trier la liste de dictionnaires donnée par la clé 'nom' :

newlist = sorted(list_to_be_sorted, key=lambda d: d['name'])

Utiliser Operator.itemgetter

Alternativement, au lieu de définir votre propre fonction , vous pouvez utiliser la fonction Operator.itemgetter, qui constitue un moyen pratique d'extraire les valeurs des objets. Par exemple :

from operator import itemgetter
newlist = sorted(list_to_be_sorted, key=itemgetter('name'))

Tri inversé

Si vous souhaitez trier par ordre décroissant, vous pouvez ajouter l'argument reverse=True à la fonction sorted() :

newlist = sorted(list_to_be_sorted, key=itemgetter('name'), reverse=True)

Cela renverra une nouvelle liste contenant les dictionnaires triés. La liste originale reste inchangée.

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