On May 17, 10:39 pm, Tartifola <[EMAIL PROTECTED]> wrote: > Hi, > I have a list with probabilities as elements > > [p1,p2,p3] > > with of course p1+p2+p3=1. I'd like to draw a > random element from this list, based on the probabilities contained in > the list itself, and return its index. > > Any help on the best way to do that? > Thanks
This of course depends on your definition of "best". There is a fast and simple technique if all probabilities are multiples of 1/n for a reasonably small n, or if you are willing to round them to such. Suppose for example that the probabilities are [0.42, 0.23, 0.35]. Create a list of 100 items with 42 0's, 23 1's, and 35 2's, then select a random element using random.choice() or equivalent. -- http://mail.python.org/mailman/listinfo/python-list