choosing random numbers with weights/probability?
Evan Simpson
evan at tokenexchange.com
Mon Jun 21 15:15:51 EDT 1999
In this simple case, you could use:
weighted = [0, 1, 2, 2]
item = list[whrandom.choice(weighted)]
If you really need arbitrary weights, try:
list = [('one', 0.25), ('two', 0.25), ('three', 0.5)]
def weighted_choice(list):
from whrandom import uniform
n = uniform(0, 1)
for item, weight in list:
if n < weight:
break
n = n - weight
return item
kevinsl wrote in message <929987267.6227 at www.remarq.com>...
I've been using the whrandom.choice routine and it's very
useful. But is there any way to add weights or
probabilities of being chosen to the items in the list?
example:
list=['one','two','three']
item=whrandom.choice(list)
Is there any way to say that 'one' and 'two' have a 25%
chance of being chosen, and 'three' has a 50% chance?
More information about the Python-list
mailing list