Eu tenho uma lista de dicionários e quero que cada item seja classificado por um valor de propriedade específico.
Leve em consideração a matriz abaixo,
[{'name':'Homer', 'age':39}, {'name':'Bart', 'age':10}]
Quando ordenado por "nome", deve tornar-se
[{'name':'Bart', 'age':10}, {'name':'Homer', 'age':39}]
my_list = [{'name':'Homer', 'age':39}, {'name':'Bart', 'age':10}]
my_list.sort(lambda x,y : cmp(x['name'], y['name']))
A "minha_lista" será agora o que você quer.
(3 anos depois) Editado para adicionar:
O novo argumento "chave" é mais eficiente e mais limpo. Uma resposta melhor agora parece ser:
my_list = sorted(my_list, key=lambda k: k['name'])
...a lambda é, IMO, mais fácil de entender do que "operador.itemgetter", mas YMMV.