我有一个嵌套字典的列表,格式为:
list = [{key1: (tuple_value1, tuple_value2)}, {key2: (tuple_value1, tuple_value2)}, {key3: (tuple_value1, tuple_value2)}, ...]
如何根据列表中的KEY对列表进行排序?我希望对列表进行排序,以便键按字母顺序排列。
我找到了一个表达式,该表达式将按照我认为的值排序:
newlist = sorted(list_to_be_sorted, key=lambda k: k['name'])
但是我还没有成功按键进行排序。
答案 0 :(得分:2)
您可以做到。这将按键对字典排序。这仅适用于Python 2.7
SELECT EXTRACT(YEAR_MONTH from create_time),COUNT(id)
FROM b_project
WHERE create_time > '2018-09-01'
GROUP_BY EXTRACT(YEAR_MONTH from create_time)
答案 1 :(得分:2)
尝试(两个版本均适用):
id
artist_id
product_id
title
label
当然这也适用(两个版本均适用):
>>> lod=[{'b':[1,2,3]},{'a':[4,5,6]}]
>>> sorted(lod,key=lambda x: list(x.keys()))
[{'a': [4, 5, 6]}, {'b': [1, 2, 3]}]
>>>
但是对于python 2,@ ManojJadhav的答案是最好的,因为它更快,不在外部使用>>> lod=[{'b':[1,2,3]},{'a':[4,5,6]}]
>>> lod.sort(key=lambda x: list(x.keys()))
>>> lod
[{'a': [4, 5, 6]}, {'b': [1, 2, 3]}]
>>>
,(这对于较大的字典可以做很大的改变)