【发布时间】:2021-09-28 13:51:41
【问题描述】:
我有一个下面的数据响应,我想根据特定字段进行排序(字段应该是可配置的,以便稍后我们可以更改排序键,如 f_name、city、type... 来自 dict 的嵌套列表中的任何一个)
data = [{"type":"single",
"ra":"SI-11",
"name":{
"f_name":"Jon",
"l_name":"Devi",
"prefix":"Mr"},
"addresses":[{
"address": "123St",
"city": "New York",
"state": "NY"
},
{
"address": "14St",
"city": "New York",
"state": "NY"
}],
"racks": ["racks1", "rack2"],
},
{"type":"multiple",
"ra":"SI-44",
"name":{
"f_name":"Patrik",
"l_name":"Dev",
"prefix":"Mr"},
"addresses":[{
"address": "333St",
"city": "New York",
"state": "NY"
},
{
"address": "14000St",
"city": "New York",
"state": "NY"
}],
"racks": ["racks1", "rack2"],
}]
提前致谢!
【问题讨论】:
-
将
sort或sorted与适当的键功能一起使用的惯用方式。functools.cmp_to_key是一个很好的工具,可以轻松编写比较多个元素的关键函数。
标签: python list sorting dictionary nested-lists