Взвешенная случайная выборка в питоне

ищу разумное определение функцииweighted_sample это не возвращает только один случайный индекс для списка заданных весов (который был бы что-то вроде

def weighted_choice(weights, random=random):
    """ Given a list of weights [w_0, w_1, ..., w_n-1],
        return an index i in range(n) with probability proportional to w_i. """
    rnd = random.random() * sum(weights)
    for i, w in enumerate(weights):
        if w

Ответы на вопрос(5)

Ваш ответ на вопрос