python - Comment puis-je trier une liste de dictionnaires par une valeur du dictionnaire

Mots clés : pythonlistsortingdictionarydata-structurespython

meilleur 5 Réponses python - Comment puis-je trier une liste de dictionnaires par une valeur du dictionnaire

vote vote

90

newlist = sorted(list_to_be_sorted, key=lambda d: d['name'])  
from operator import itemgetter newlist = sorted(list_to_be_sorted, key=itemgetter('name'))  
newlist = sorted(list_to_be_sorted, key=itemgetter('name'), reverse=True) 
vote vote

88

import operator 
list_of_dicts.sort(key=operator.itemgetter('name')) 
list_of_dicts.sort(key=operator.itemgetter('age')) 
vote vote

72

my_list = [{'name':'Homer', 'age':39}, {'name':'Bart', 'age':10}]  my_list.sort(lambda x,y : cmp(x['name'], y['name'])) 
my_list = sorted(my_list, key=lambda k: k['name']) 
vote vote

60

my_list = [{'name':'Homer', 'age':39}, {'name':'Milhouse', 'age':10}, {'name':'Bart', 'age':10} ] sortedlist = sorted(my_list , key=lambda elem: "%02d %s" % (elem['age'], elem['name'])) 
vote vote

52

a = [{'name':'Homer', 'age':39}, ...]  # This changes the list a a.sort(key=lambda k : k['name'])  # This returns a new list (a is not modified) sorted(a, key=lambda k : k['name'])  

Questions similaires