Maison >développement back-end >Tutoriel Python >Comment puis-je trier une liste de dictionnaires en Python selon une clé spécifique ?
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}]
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'])
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}]
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'))
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)
Cela triera la liste comme :
[{'name': 'Homer', 'age': 39}, {'name': 'Bart', 'age': 10}]
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!