python实现有一个列表有30个员工,随机100次,每次随机从里面取一个员工,然后存到另一个列表,要求每个员工出现3次
时间: 2024-01-21 19:02:50 浏览: 77
可以使用Python内置的random模块来实现随机取员工。具体实现步骤如下:
1. 定义一个包含30个员工名字的list,如:
```
employees = ['张三', '李四', '王五', '赵六', '钱七', '孙八', '周九', '吴十', '郑十一', '冯十二', '陈十三', '褚十四', '卫十五', '蒋十六', '沈十七', '韩十八', '杨十九', '朱二十', '秦二十一', '尤二十二', '许二十三', '何二十四', '吕二十五', '施二十六', '张二十七', '孔二十八', '曹二十九', '严三十', '华三十一', '金三十二', '魏三十三']
```
2. 定义一个新的list,用于存储随机选出的员工名字,如:
```
selected_employees = []
```
3. 使用for循环和random模块的randint函数实现随机选取员工,如:
```
import random
for i in range(100):
selected_employees.append(random.choice(employees))
```
4. 统计每个员工出现的次数,并筛选出出现次数为3的员工,如:
```
from collections import Counter
counter = Counter(selected_employees)
employees_3_times = [k for k, v in counter.items() if v == 3]
```
在这个例子中,筛选出来的员工名字存储在employees_3_times中。
完整代码如下:
```
import random
from collections import Counter
employees = ['张三', '李四', '王五', '赵六', '钱七', '孙八', '周九', '吴十', '郑十一', '冯十二', '陈十三', '褚十四', '卫十五', '蒋十六', '沈十七', '韩十八', '杨十九', '朱二十', '秦二十一', '尤二十二', '许二十三', '何二十四', '吕二十五', '施二十六', '张二十七', '孔二十八', '曹二十九', '严三十', '华三十一', '金三十二', '魏三十三']
selected_employees = []
for i in range(100):
selected_employees.append(random.choice(employees))
counter = Counter(selected_employees)
employees_3_times = [k for k, v in counter.items() if v == 3]
print(employees_3_times)
```
注意:由于随机抽取的过程是随机的,因此每次运行得到的结果可能不同。
阅读全文