re: How to Sort a List of Dictionaries in Python VIEW POST


You don't need to use lambda here at all. In fact you would be better off using itemgetter from the operator module in the standard library.

from operator import itemgetter

f = itemgetter('Name')

[{'Name': 'Ally', 'Age': 41, 'Favorite Color': 'Magenta'},
 {'Name': 'Jasmine', 'Age': 29, 'Favorite Color': 'Aqua'},
 {'Name': 'Jeremy', 'Age': 25, 'Favorite Color': 'Blue'}]

Define "better off." Using itemgetter is definitely another way to do it, but it's almost exactly the same as the lambda option. Likewise, I could have also written a function of my own to pass as the key.

Of course, I'm happy to add itemgetter as another option if you want.

EDIT: I added your example to the article.


itemgetter is faster than using lambda specifically because all the operations are performed on the C side. I should have clarified when I made my response. Thanks for the shoutout!

Thanks for the clarification! I wasn't aware of that. The article has been updated to include a note about performance.

code of conduct - report abuse