字典按key值排序
列表、字典排序:
data_dic = {'20190105': [{'name':'bbb','value': '222'}, {'name':'aaa', 'value': '111'}], '20190101': [{'name':'bbb','value': '333'}, {'name':'aaa', 'value': '555'}]} # 列表按 name值字段排序 for key, value in data_dic.items(): value_temp = sorted(value, key=lambda my_sort: my_sort['name']) data_dic[key] = value_temp # 字典按key排序 data = dict(sorted(data_dic.items(), key=lambda x: x[0])) print(data)
# 输出结果 {'20190101': [{'name': 'aaa', 'value': '555'}, {'name': 'bbb', 'value': '333'}], '20190105': [{'name': 'aaa', 'value': '111'}, {'name': 'bbb', 'value': '222'}]}
列表按照指定顺序排序:
# 指定列表,假设存储的是curList中的ID列表 sortList = ["4", "3", "5"] # 当前列表 curList = [{"id":"3", "name": "菠萝"},{"id": "4", "name": "橘子"},{"id": "5", "name": "橙子"}] # 根据指定列表中的ID顺序,对当前列表进行排序 curList = sorted(curList, key=lambda item:sortList.index(item["id"])) print(curList) # 结果输出: [{'id': '4', 'name': '橘子'}, {'id': '3', 'name': '菠萝'}, {'id': '5', 'name': '橙子'}]