列表中嵌套字典,key不同的情况下对value进行排序
可以将列表中的字典先放入到有一个字典中,对整个字典进行排序,在排序完成后,再转换成
from operator import itemgetter
def dict_list_sort(dict_list):
dict_dict = {
key:value for x in dict_list for key,value in x.items()}
dict_list = sorted(dict_dict.items(), key=itemgetter(1))
dict_sorted_list = [{
x[0]:x[1]} for x in dict_list]
return dict_sorted_list
view_list = [{
'2023-05': 3}, {
'2023-04': 23}, {
'2023-03': 10}, {
'2023-02': 3}, {
'2023-01': 0}, {
'2022-12': 0}, {
'2022-11': 0}, {
'2022-10': 0}, {
'2022-09': 5}, {
'2022-08': 5}, {
'2022-07': 3}, {
'2022-06': 27}]
view_list =dict_list_sort(view_list)
print('view_list:',view_list)
输出:
view_list: [{‘2023-01’: 0}, {‘2022-12’: 0}, {‘2022-11’: 0}, {‘2022-10’: 0}, {‘2023-05’: 3}, {‘2023-02’: 3}, {‘2022-07’: 3}, {‘2022-09’: 5}, {‘2022-08’: 5}, {‘2023-03’: 10}, {‘2023-04’: 23}, {‘2022-06’: 27}]