从Python中的元组列表生成随机数

时间:2018-10-31 12:04:53

标签: python-3.x random

我有一个元组列表,其中包含分配了一定概率的数字:

    import random
    my_randoms = [random.randrange(1, 51, 1) for _ in range(10)]

    weights = [0.1, 0.2, 0.05, 0.03, 0.15, 0.05, 0.2, 0.02, 0.09, 0.11]

    aa = list(zip(my_randoms, weights))    

    aa
        Out[40]: 
    [(7, 0.1),
 (5, 0.2),
 (47, 0.05),
 (21, 0.03),
 (13, 0.15),
 (32, 0.05),
 (41, 0.2),
 (1, 0.02),
 (47, 0.09),
 (19, 0.11)]

鉴于我分配的概率分布,我想从列表中随机生成100个数字。我该怎么办?谢谢!

1 个答案:

答案 0 :(得分:0)

如果我对您的理解正确,那么您可以使用random模块(https://docs.python.org/3/library/random.html#functions-for-sequences):

random.choices(my_randoms, weights=weights, k=100)