Python 3.x 如何对包含多个词典的集合进行排序

Python 3.x 如何对包含多个词典的集合进行排序,python-3.x,list,sorting,dictionary,Python 3.x,List,Sorting,Dictionary,我想得到的结果是:我想把相同的名字放在字典里。然后按时间排序。 结果如下: a_list=[ {'status':'f','name':'battery','time':1.3}, {'status':'a','name':'mouse','time':3.5}, {'status':'p','name':'battery','time':1.0}, {'status':'p','name':'battery','time':0.8}, {'status'

我想得到的结果是:我想把相同的名字放在字典里。然后按时间排序。 结果如下:

a_list=[
    {'status':'f','name':'battery','time':1.3},
    {'status':'a','name':'mouse','time':3.5},
    {'status':'p','name':'battery','time':1.0},
    {'status':'p','name':'battery','time':0.8},
    {'status':'n','name':'touch','time':1.6},
    {'status':'t','name':'typec','time':1.7},
    {'status':'fail','name':'keyboard','time':3.4},
    {'status':'fail','name':'keyboard','time':1.7},
    {'status':'fa','name':'mouse','time':1.8},
    {'status':'k','name':'touch','time':2.4}]

您需要按
名称
时间
对其进行排序:

sorted=[
  {'status':'f','name':'battery','time':0.8},{'status':'f','name':'battery','time':1.0},
  {'status':'p','name':'battery','time':1.3},{'status':'n','name':'touch','time':1.6,
  {'status':'k','name':'touch','time':2.4},{'status':'fail','name':'keyboard','time':1.7},
  {'status':'fail','name':'keyboard','time':3.4},{'status':'fa','name':'mouse','time':1.8},
  {'status':'a','name':'mouse','time':3.5}{'status':'t','name':'typec','time':1.7}]

你尝试了什么?可能是重复的
unsorted=[{'status':'f','name':'battery','time':1.3},
{'status':'a','name':'mouse','time':3.5},{'status':'p','name':'battery','time':1.0},
{'status':'p','name':'battery','time':0.8},{'status':'n','name':'touch','time':1.6},
{'status':'t','name':'typec','time':1.7},{'status':'fail','name':'keyboard','time':3.4},
{'status':'fail','name':'keyboard','time':1.7},{'status':'fa','name':'mouse','time':1.8},
{'status':'k','name':'touch','time':2.4}]

sorted(unsorted, key=lambda x: (x['name'], x['time']))

#[{'status': 'p', 'name': 'battery', 'time': 0.8}, {'status': 'p', 'name': 'battery', 'time': 1.0}, {'status': 'f', 'name': 'battery', 'time': 1.3}, {'status': 'fail', 'name': 'keyboard', 'time': 1.7}, {'status': 'fail', 'name': 'keyboard', 'time': 3.4}, {'status': 'fa', 'name': 'mouse', 'time': 1.8}, {'status': 'a', 'name': 'mouse', 'time': 3.5}, {'status': 'n', 'name': 'touch', 'time': 1.6}, {'status': 'k', 'name': 'touch', 'time': 2.4}, {'status': 't', 'name': 'typec', 'time': 1.7}]