Man ir vārdnīcu saraksts, un es gribu, lai katrs vienums tiktu sakārtots pēc konkrētas īpašību vērtības.
Ņemiet vērā tālāk redzamo masīvu,
[{'name':'Homer', 'age':39}, {'name':'Bart', 'age':10}]
sakārtojot pēc nosaukuma
, tam vajadzētu kļūt par
[{'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']))
my_list
tagad būs tas, ko vēlaties.
(3 gadus vēlāk) Rediģēts, lai pievienotu:
Jaunais key
arguments ir efektīvāks un glītāks. Labāka atbilde tagad izskatās šādi:
my_list = sorted(my_list, key=lambda k: k['name'])
...lambda, IMO, ir vieglāk saprotama nekā operator.itemgetter
, bet YMMV.