Генерация случайных чисел из списка кортежей в python

У меня есть список кортежей, содержащий числа с определенной вероятностью:

    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 чисел из списка с учетом распределения вероятностей, которое я назначил. Как я мог это сделать? Спасибо!

Вы хотите случайным образом выбрать 100 номеров из списка, содержащего 10 номеров? И получить вдвое больше 5, чем 7 в итоговом списке?

Poolka 31.10.2018 13:43

Привет Poolka! Ага, вот почему я пытаюсь сделать

Metal99 31.10.2018 13:48
1
2
425
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Если я вас правильно понял, вы можете использовать модуль random (https://docs.python.org/3/library/random.html#functions-for-sequences):

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

Другие вопросы по теме