我有一个文件,其中包含一些不同值的概率,例如:
1 0.1
2 0.05
3 0.05
4 0.2
5 0.4
6 0.2
Run Code Online (Sandbox Code Playgroud)
我想用这个发行版生成随机数.是否存在处理此问题的现有模块?自己编写代码相当简单(构建累积密度函数,生成随机值[0,1]并选择相应的值)但似乎这应该是一个常见问题,可能有人创建了一个函数/模块它.
我需要这个,因为我想生成一个生日列表(不遵循标准random模块中的任何分发).
我有这样的数据:
d = (
(701, 1, 0.2),
(701, 2, 0.3),
(701, 3, 0.5),
(702, 1, 0.2),
(702, 2, 0.3),
(703, 3, 0.5)
)
Run Code Online (Sandbox Code Playgroud)
其中(701,1,0.2)=(id1,id2,priority)
如果我知道id1,使用优先级,有没有一种选择id2的漂亮方法?
Func(701)应该返回:
1 - 在20%的情况下
2 - 30%
3 - 50%
百分比当然很粗糙