Как сделать случайный (рандомный) выбор на основе вероятностей Python?
Черным цветом - номера вершин, красным - вероятности туда попасть. Как можно программно сделать выбор в этом случае? Из идей:
- Создать список из распределения вероятностей.
- Использовать
random.random(). - Посмотреть в каком промежутке получилось число.
Пример кода:
import random
# Для вершины 0
probs = [0.73, 0.12, 0.15]
distribution_probs = [0.73, 0.85, 1]
random.seed(42)
my_choice = random.random() * 100
if my_choice <= 0.73:
pass
elif my_choice <= 0.85:
pass
elif my_choice <= 1:
pass
В целом, способ рабочий, но интересно нет ли метода более филигранного?
