根据列表中的值之一对列表中的字典进行排序

时间:2019-01-22 09:31:03

标签: python-3.x

在下面给出词典列表

 sample_dict = [{'Time':10, 'Name':'Loc1'},
                {'Time':,9 'Name':'Loc2'},
                {'Time':7, 'Name':'Loc3'},
                {'Time':6, 'Name':'Loc4'},
                {'Time':2, 'Name':'Loc5'}]

Name是该位置的名称,而Time是该位置的服务时间。现在,我想将这些位置的任务分配给2,3,4名员工,以使总的时间消耗最小。

例如,如果有2名员工。

task_assigned_to_emp1 = {'Time':10, 'Name':'Loc1'} & {'Time':7, 'Name':'Loc3'}

total_time_taken_by_emp1 = 17

task_assigned_to_emp2 = {'Time':,9 'Name':'Loc2'} & {'Time':6, 'Name':'Loc4'}           & {'Time':2, 'Name':'Loc5'}

total_time_taken_by_emp2 = 17

同样拥有3至4名员工。

另外,输出应具有如下所述的顺序。

output = [{'Time':10, 'Name':'Loc1', 'Sequecne':1},
          {'Time':,9 'Name':'Loc2', 'Sequecne':2},
          {'Time':7, 'Name':'Loc3', 'Sequecne':4},
          {'Time':6, 'Name':'Loc4', 'Sequecne':3},
          {'Time':2, 'Name':'Loc5', 'Sequecne':5}]

输出说明

emp1emp2被赋予Loc1Loc2Emp2早于emp1返回,原因是他/她的任务花了9分钟,而emp1's任务花了10分钟。因此,我们将Loc4赋予emp2,然后emp1来到并被分配了Loc3,最后emp2被分配了Loc5

0 个答案:

没有答案