[Python-Dev] [Python-checkins] r86924 - python/branches/py3k/Doc/library/random.rst (original) (raw)

Éric Araujo merwok at netwok.org
Thu Dec 2 13🔞53 CET 2010


On Thu, Dec 2, 2010 at 12:41 PM, raymond.hettinger <python-checkins at python.org> wrote:

+A more general approach is to arrange the weights in a cumulative probability +distribution with :func:itertools.accumulate, and then locate the random value +with :func:bisect.bisect:: + + >>> choices, weights = zip(*weightedchoices) + >>> cumdist = list(itertools.accumulate(weights)) + >>> x = random.random() * cumdist[-1] + >>> choices[bisect.bisect(cumdist, x)] + 'Blue'

“pydoc bisect.bisect” is empty (“Alias for bisect_right()”); in the code, bisect.bisect is noted as compatibility alias. Wouldn’t it be more helpful to use the newer name?

Regards



More information about the Python-Dev mailing list