Maison > développement back-end > Tutoriel Python > Comment puis-je trier une liste de dictionnaires en Python selon une clé spécifique ?

Comment puis-je trier une liste de dictionnaires en Python selon une clé spécifique ?

DDD
Libérer: 2024-12-31 12:49:14
original
560 Les gens l'ont consulté

How Can I Sort a List of Dictionaries in Python by a Specific Key?

Tri des dictionnaires en Python

Trier une liste de dictionnaires en fonction de la valeur d'une clé spécifique est une tâche courante. Considérons une liste de dictionnaires avec des noms et des âges :

list_to_be_sorted = [{'name': 'Homer', 'age': 39}, {'name': 'Bart', 'age': 10}]
Copier après la connexion

Pour trier cette liste par nom par ordre croissant, nous pouvons utiliser la fonction sorted() avec le paramètre key. Le paramètre key nous permet de spécifier une fonction qui détermine l'ordre de tri.

newlist = sorted(list_to_be_sorted, key=lambda d: d['name'])
Copier après la connexion

Dans ce cas, nous définissons une fonction lambda qui extrait la valeur 'name' de chaque dictionnaire et utilise cette valeur pour le tri. Le résultat trié sera :

[{'name': 'Bart', 'age': 10}, {'name': 'Homer', 'age': 39}]
Copier après la connexion

Alternativement, nous pouvons utiliser Operator.itemgetter au lieu de définir une fonction personnalisée. Itemgetter renvoie un appelable qui extrait un champ spécifique de chaque dictionnaire.

from operator import itemgetter
newlist = sorted(list_to_be_sorted, key=itemgetter('name'))
Copier après la connexion

Cela produit également le même résultat trié que précédemment.

Enfin, pour trier la liste par ordre décroissant, nous pouvons set reverse=True dans la fonction sorted().

newlist = sorted(list_to_be_sorted, key=itemgetter('name'), reverse=True)
Copier après la connexion

Cela triera la liste comme :

[{'name': 'Homer', 'age': 39}, {'name': 'Bart', 'age': 10}]
Copier après la connexion

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