应该注意的是,我是Python的初学者。我有16项需要完成的任务,这些任务包含在列表中:
task_list = ['task_1',
'task_2',
'task_3',
'task_4',
'task_5',
'task_6',
'task_7',
'task_8',
'task_9',
'task_10', etc...]
我还有四个人,A、B、C和D,他们将平均分配这些任务(每人4个任务)。对于每个人,我都创建了一个空列表。在
personA_tasks = []
personB_tasks = [],
etc.
我怎样才能将这16个任务随机地附加到这四个列表中,使这四个列表的长度都是4?在
这是家庭作业,仅供参考。在
因此,首先,当您真正想要一个数据结构
persons_tasks
时,定义四个变量是个坏主意,其中每个人都是一个键或数字。在然后,你可以列一张清单,列出哪些人承担了哪项任务,然后重新排列这个清单:
使用random.shuffle对列表进行无序排列(就位)。 然后使用grouper recipe,
zip(*[iterator]*4)
将项目收集为4组:好的一面是,石斑鱼的食谱相当优雅。不幸的是,这不是Python中最容易理解的部分。要了解石斑鱼食谱,你需要了解:
有了这些概念,就可以找到石斑鱼食谱的解释here。在
一种变体,它将指定的人作为一个带有任务列表的
dict
中的键。。。请注意,这可能会分配不均衡的任务。。。因此,您可以对人员列表进行优先级排序,以便将任务分配给第一个列出的人。例:如果你有3个任务,2个人,那么1个人会得到2,2个人会得到1。在相关问题 更多 >
编程相关推荐