Skip to main content
 首页 » 编程设计

python之分配任务给人们

2025年05月04日19三少

请注意,我是 Python 的初学者。我有 16 需要完成的任务,这些任务包含在一个列表中:

task_list = ['task_1', '任务_2', “任务_3”, '任务_4', '任务_5', '任务_6', '任务_7', '任务_8', '任务_9', 'task_10' 等...]

我还有四个人,A、B、C 和 D,他们将平均分配这些任务(每人 4 个任务)。对于这些人中的每一个人,我都创建了一个空列表。

personA_tasks = [] personB_tasks = [], 等等

我如何随机将这 16 个任务附加到这四个列表中,以便四个列表中每个列表的长度都是 4?

这不是家庭作业,仅供引用。

请您参考如下方法:

使用random.shuffle洗牌列表(就地)。 然后使用 grouper recipe , zip(*[iterator]*4) 将项目收集到 4 组中:

In [32]: import random 
In [33]: task_list = ['task_%d' % (i,) for i in range(1, 17)] 
 
In [34]: random.shuffle(task_list) 
 
In [35]: persons = zip(*[iter(task_list)]*4) 
 
In [36]: persons 
Out[36]:  
[('task_7', 'task_2', 'task_15', 'task_13'), 
 ('task_6', 'task_11', 'task_9', 'task_12'), 
 ('task_5', 'task_10', 'task_4', 'task_1'), 
 ('task_3', 'task_8', 'task_14', 'task_16')] 

从好的方面来说,石斑鱼的食谱相当优雅。不幸的是,它不是 Python 中最容易理解的部分。要了解石斑鱼食谱,您需要了解:

有了这些概念,您就可以找到石斑鱼食谱的解释 here .