Ik heb een lijst van woordenboeken en wil dat elk item gesorteerd wordt op een specifieke eigenschap waarde.
Neem de onderstaande array in overweging,
[{'name':'Homer', 'age':39}, {'name':'Bart', 'age':10}]
Wanneer gesorteerd op naam
, zou moeten worden
[{'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']))
mijn_lijst
zal nu zijn wat je wilt.
(3 jaar later) Bewerkt om toe te voegen:
Het nieuwe key
argument is efficiënter en netter. Een beter antwoord ziet er nu uit als:
my_list = sorted(my_list, key=lambda k: k['name'])
...de lambda is, IMO, gemakkelijker te begrijpen dan operator.itemgetter
, maar YMMV.