如何根据价值对字典词典列表进行排序
这个问题在这里已经有了答案:
你可以使用lambda
函数作为函数的key
参数
>>> mydic = [{'name':'a', 'loc':{'locname':'z'}, 'id':{'value':'1'}},{'name':'b', 'loc':{'locname':'o'}, 'id':{'value':'2'}}]
>>> sorted(mydic,key = lambda x:x['loc']['locname'])
[{'loc': {'locname': 'o'}, 'name': 'b', 'id': {'value': '2'}}, {'loc': {'locname': 'z'}, 'name': 'a', 'id': {'value': '1'}}]
参考文献:文档
sorted(iterable[, cmp[, key[, reverse]]])
key
指定一个参数的函数,该参数用于从每个列表元素提取比较键: key=str.lower
。 默认值是None
(直接比较元素)。
上一篇: How to sort a list of dictionaries of dictionaries by value