Python 怎么实现随机分组,要求3~4人一组

请问各位大佬,怎么用python实现随机分组 要求3~4人一组

 

import random
 
 
# 构建分身数据源(25个分身对象)
def get_source_data():
    data = []
    for i in range(4):
        data.append({"name":"组长", "role":i}) # role表示分身ID
    for i in range(7):
        for j in range(3):
            data.append({"name": "组员" + str(i), "role": j})
    return data
 
 
# 进行5次选择,选出5组
def group_by_random():
    des_list = []
    data_list = get_source_data()
    for i in range(5): # 分5组
        one_list = []
        has_selected = {} # 标记某个人是否已经被添加进当前组中
        while(len(one_list) < 5): # 直到每组中有5个不同的人(组中最多有同一个人的1个分身)
            index = random.randint(0, len(data_list)-1)
            person = data_list[index]
            # 如果这个人(此处不区分“分身”,只区分“人”)没有被添加到当前组中,就添加该分身到组中,同时删除原数据列表中的这个分身对象
            if not has_selected.__contains__(person["name"]): 
                one_list.append(person["name"])
                data_list.pop(index)
                has_selected[person["name"]] = True
        des_list.append(one_list)
    return des_list
 
 
if __name__ == '__main__':
    for group in group_by_random():
        print("分组:", group)

如果对你有帮助,可以点击我这个回答右上方的【采纳】按钮,给我个采纳吗,谢谢