Sorting Python dictionary based on nested dictionary values
如何根据嵌套字典的内部值对python字典进行排序?
例如,根据EDOCX1[1]的值对EDOCX1[0]进行排序:
1 2 3 4 5 | mydict = { 'age': {'context': 2}, 'address': {'context': 4}, 'name': {'context': 1} } |
结果应该是这样的:
1 2 3 4 5 | { 'name': {'context': 1}, 'age': {'context': 2}, 'address': {'context': 4} } |
1 2 3 4 5 6 7 8 | >>> from collections import OrderedDict >>> mydict = { 'age': {'context': 2}, 'address': {'context': 4}, 'name': {'context': 1} } >>> OrderedDict(sorted(mydict.iteritems(), key=lambda x: x[1]['context'])) OrderedDict([('name', {'context': 1}), ('age', {'context': 2}), ('address', {'context': 4})]) |
不管你多么努力,你都无法对字典进行排序,因为它们是无序的集合。使用