Python 3.x 如何根据特定列对列表的字典进行排序?

Python 3.x 如何根据特定列对列表的字典进行排序?,python-3.x,sorting,dictionary,Python 3.x,Sorting,Dictionary,我有一张如下的表格,储存在字典里: 这本字典看起来像这样 d = { 'A': ['45', '70', '5', '88', '93', '79', '87', '69'], 'B': ['99', '18', '91', '3', '92', '2', '67', '15'], 'C': ['199200128', '889172415', '221388292', '199200128', '889172415', '889172415', '199200128', '2213882

我有一张如下的表格,储存在字典里:

这本字典看起来像这样

d = {
'A': ['45', '70', '5', '88', '93', '79', '87', '69'], 
'B': ['99', '18', '91', '3', '92', '2', '67', '15'], 
'C': ['199200128', '889172415', '221388292', '199200128', '889172415', '889172415', '199200128', '221388292'], 
'D': ['10:27:05', '07:10:29', '17:04:48', '10:25:42', '07:11:18', '07:11:37', '10:38:11', '17:08:55'], 
'E': ['73', '6', '95', '21', '29', '15', '99', '9']
}
我想根据从最低到最高的小时数对字典进行排序,并将A、B和E列相加,对应于下图中C列中相同的值(其中A、B和E的总和为红色):

然后,生成的字典如下所示:

{
'A': ['70', '93', '79', '242', '88', '45', '133', '87', '5', '69', '161'], 
'B': ['18', '92', '2', '112', '3', '99', '102', '67', '91', '15', '173'], 
'C': ['889172415', '889172415', '889172415', '', '199200128', '199200128', '', '199200128', '221388292', '221388292', ''], 
'D': ['07:10:29', '07:11:18', '07:11:37', '', '10:25:42', '10:27:05', '', '10:38:11', '17:04:48', '17:08:55', ''], 
'E': ['6', '29', '15', '50', '21', '73', '94', '99', '95', '9', '203']
}
我目前试图用这段代码对输入字典进行排序,但似乎不适合我

排序(d.items(),key=lambda e:e[1][4]) [ ('D',['10:27:05','07:10:29','17:04:48','10:25:42','07:11:18','07:11:37','10:38:11','17:08:55'], (‘E’、[‘73’、‘6’、‘95’、‘21’、‘29’、‘15’、‘99’、‘9’), (‘C’、‘199200128’、‘889172415’、‘221388292’、‘199200128’、‘889172415’、‘889172415’、‘199200128’、‘221388292’), (‘B’、[‘99’、‘18’、‘91’、‘3’、‘92’、‘2’、‘67’、‘15’), ('A'、['45'、'70'、'5'、'88'、'93'、'79'、'87'、'69') ] >>>
也许有人能帮点忙。谢谢

您允许使用熊猫解决此任务吗? 如果是,则可以将数据转换为

pd.DataFrame 
反对

data = pd.DataFrame.from_dict(dictionary, orient = 'columns')
data = data.sort_values(by =„D”)
然后再次使用返回字典

_dict = data.to_dict() 

谢谢你的回答。我已经尝试过了,排序也很有效,但当我使用'pd.DataFrame.from_dict(dictionary)`时,它会生成一个带有索引的列,排序时,该列是未排序的(
data.to_dict()
)。有没有办法避免生成那个索引列,因为我看到有那个额外的列需要对de值求和更复杂。我只是通过添加
orient='columns'
参数来更新答案。输出仍然相同。无论如何,谢谢你的帮助。