假设我已对数组进行了排序:
ary = [ 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 ]
目标是随机选择一个选择较低数字的概率更高的数字。 一种方法是:
ary[ int( rand() * rand() * 10) ]
甚至:
ary[ int( rand() * rand() * 11) ]
乘以随机数0 < x&lt; 1,平均会产生较小的数字。
我想知道你是否知道更好的方法呢? 完全选择数字的概率的“概率斜率”应该近似于1 / x函数或类似的东西。
hist( [ int(rand() * rand() * 11.) for _ in range(1000) ])
=== 为什么重复????这不是加权而是分布,也不是离散分布??
hist(np.random.exponential(size=1000) )
看起来像一个选项,但如何将它绑定到0 .. 10即从0中选择ary-idx .. 10