Как сделать случайный (рандомный) выбор на основе вероятностей Python?

Есть следующая схема

Черным цветом - номера вершин, красным - вероятности туда попасть. Как можно программно сделать выбор в этом случае? Из идей:

  1. Создать список из распределения вероятностей.
  2. Использовать random.random().
  3. Посмотреть в каком промежутке получилось число.

Пример кода:

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

В целом, способ рабочий, но интересно нет ли метода более филигранного?


Ответы (0 шт):