Use the key keyword for the sorted() and sort() functions:
yourdata.sort(key=lambda e: e['key']['subkey'], reverse=True)
Demo:
>>> yourdata = [{'key': {'subkey': 1}}, {'key': {'subkey': 10}}, {'key': {'subkey': 5}}] >>> yourdata.sort(key=lambda e: e['key']['subkey'], reverse=True) >>> yourdata [{'key': {'subkey': 10}}, {'key': {'subkey': 5}}, {'key': {'subkey': 1}}]
This assumes that all top-level dictionaries have a key key , which is considered a dictionary with a subkey key.
See the Python Sorting HOWTO for more details and tricks.
Martijn pieters
source share