Maison >développement back-end >Tutoriel Python >Comment trier une liste de dictionnaires par valeur en 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!