[英]sorting list of nested dictionaries in python
我有类似的东西
[
{
"key": { "subkey1":1, "subkey2":"a" }
},
{
"key": { "subkey1":10, "subkey2":"b" }
},
{
"key": { "subkey1":5, "subkey2":"c" }
}
]
并且需要具有:
[
{
"key": { "subkey1":10, "subkey2":"b" }
},
{
"key": { "subkey1":5, "subkey2":"c" }
},
{
"key": { "subkey1":1, "subkey2":"a" }
}
]
非常感谢!
编辑:我想按subkey1进行排序,这之前还不清楚。
将key
关键字用于sorted()
函数和sort()
方法 :
yourdata.sort(key=lambda e: e['key']['subkey'], reverse=True)
演示:
>>> 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}}]
这假定所有顶级词典都具有key
键,该key
键被假定为带有subkey
键键的字典。
有关更多详细信息和技巧,请参见Python Sorting HOWTO 。
假设您要按列表中每个字典d
的值d['key']['subkey']
排序,请使用以下命令:
sorted(yourdata, key=lambda d: d.get('key', {}).get('subkey'), reverse=True)
sorted(yourdata, reverse=True)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.