python小作业3:随机分配老师进房间-pop函数的利用

这篇博客介绍了如何使用Python随机分配8名老师到3个房间,作者选择了从教师列表中随机选择并使用pop函数更新列表的策略,确保每个老师都能被分配到房间。

python小作业3:随机分配老师进房间
题:已知8名老师,需要随机分配至3个房间里

分析:两种思路都可,
1、依次/随机 选择一名老师,进入随机挑选的房间;
2、依次/随机 选择一个房间,随机挑选一名老师进来。
备注:由于每一个老师都一定要进入房间内,但不是每一个房间都要进老师,因此,第二种思路需要在老师列表内,增加一个或多个"空"老师。此思路涉及到概率问题,较为复杂,就不展开了。

网上教程和我自己均采用了第一种思路。
教程看到的方法是依次选择老师,随机选择房间进入,较为简单,主要代码如下:

offices = [[], [], []]
for name in names:						#依次选
动态数组 vs 链表性能测试 - 修正版 ================================================================================ 请选择测试数据规模: 1. 小规模测试 [100, 500, 1000, 2000] 2. 中规模测试 [1000, 5000, 10000, 20000] 3. 大规模测试 [5000, 10000, 50000, 100000] 4. 自定义数据规模 请选择 (1-4): 1 使用数据规模: [100, 500, 1000, 2000] 插操作性能测试(修正版) ================================================================================ 数据规模: 100 -------------------------------------------------- 头部插 - List: 0.00000050s, LinkedList: 0.00000140s 尾部插 - List: 0.00000040s, LinkedList: 0.00000090s 中间插 - List: 0.00000050s, LinkedList: 0.00000400s 数据规模: 500 -------------------------------------------------- 头部插 - List: 0.00000100s, LinkedList: 0.00000200s 尾部插 - List: 0.00000060s, LinkedList: 0.00000160s 中间插 - List: 0.00000110s, LinkedList: 0.00001510s 数据规模: 1000 -------------------------------------------------- 头部插 - List: 0.00000160s, LinkedList: 0.00000170s 尾部插 - List: 0.00000080s, LinkedList: 0.00000090s 中间插 - List: 0.00000150s, LinkedList: 0.00003120s 数据规模: 2000 -------------------------------------------------- 头部插 - List: 0.00000330s, LinkedList: 0.00000130s 尾部插 - List: 0.00000170s, LinkedList: 0.00000100s 中间插 - List: 0.00000270s, LinkedList: 0.00006500s 删除操作性能测试(修正版) ================================================================================ 数据规模: 100 -------------------------------------------------- 头部删除 - List: 0.00000040s, LinkedList: 0.00000100s 中间删除 - List: 0.00000040s, LinkedList: 0.00000400s 尾部删除 - List: 0.00000020s, LinkedList: 0.00001670s 数据规模: 500 -------------------------------------------------- 头部删除 - List: 0.00000090s, LinkedList: 0.00000130s 中间删除 - List: 0.00000090s, LinkedList: 0.00001490s 尾部删除 - List: 0.00000030s, LinkedList: 0.00005730s 数据规模: 1000 -------------------------------------------------- 头部删除 - List: 0.00000090s, LinkedList: 0.00000130s 中间删除 - List: 0.00000080s, LinkedList: 0.00003150s 尾部删除 - List: 0.00000040s, LinkedList: 0.00010450s 数据规模: 2000 -------------------------------------------------- 头部删除 - List: 0.00000180s, LinkedList: 0.00000140s 中间删除 - List: 0.00000140s, LinkedList: 0.00006120s 尾部删除 - List: 0.00000030s, LinkedList: 0.00021140s 随机访问性能测试 ================================================================================ 数据规模: 100 -------------------------------------------------- 批量随机访问 100 次 - List: 0.00000625s, LinkedList: 0.00024398s 单次访问测试 - List: 0.00000012s, LinkedList: 0.00000272s 数据规模: 500 -------------------------------------------------- 批量随机访问 100 次 - List: 0.00000631s, LinkedList: 0.00132957s 单次访问测试 - List: 0.00000013s, LinkedList: 0.00001160s 数据规模: 1000 -------------------------------------------------- 批量随机访问 100 次 - List: 0.00000604s, LinkedList: 0.00286934s 单次访问测试 - List: 0.00000012s, LinkedList: 0.00002828s 数据规模: 2000 -------------------------------------------------- 批量随机访问 100 次 - List: 0.00000618s, LinkedList: 0.00607115s 单次访问测试 - List: 0.00000010s, LinkedList: 0.00005256s 数据验证: 数据规模: [100, 500, 1000, 2000] 插操作数据点数量: 4 删除操作数据点数量: 4 随机访问数据点数量: 4修改后的运行结果,不符合相应的理论数据变化,修正
最新发布
10-23
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值