我有一个像下面这样的字典列表:
[
{'init_time': datetime.time(14, 0), 'end_time': datetime.time(19, 0), 'value': 5.2},
{'init_time': datetime.time(17, 0), 'end_time': datetime.time(18, 0), 'value': 6.5},
{'init_time': datetime.time(15, 0), 'end_time': datetime.time(17, 0), 'value': 2.5}
]
如何根据每个字典的init_time
的值对该列表进行排序?通常,sorted
可以基于键或值对字典进行排序,但就我而言,我对使用字典的值对字典进行排序不感兴趣,而是对列表进行排序。
例如,上面的输出将是:
[
{'init_time': datetime.time(14, 0), 'end_time': datetime.time(19, 0), 'value': 5.2},
{'init_time': datetime.time(15, 0), 'end_time': datetime.time(17, 0), 'value': 2.5}
{'init_time': datetime.time(17, 0), 'end_time': datetime.time(18, 0), 'value': 6.5},
]
答案 0 :(得分:4)
Python的sorted
函数具有一个key
参数,该参数将用于比较中,
new_list = sorted(old_list, key=lambda item: item["init_time"])