Biased random?

Jun-geun Park junkeun.park at gmail.com
Mon Aug 27 17:43:00 EDT 2007


Ivan Voras wrote:
> Hi,
> 
> I have a list of items, and need to choose several elements from it,
> "almost random". The catch is that the elements from the beginning
> should have more chance of being selected than those at the end (how
> much more? I don't care how the "envelope" of probability looks like at
> this point - can be linear). I see that there are several functions in
> Python standard libraries for various distribution, but is there an easy
> pythonic way to make them do what I need?
> 
> 

That's weird. random.randint(a,b) will be enough for most cases. Test
your system to see the distribution is uniform with something like:

----
import random

dist = {}
for z in xrange(100000):
     u = random.randint(1,10)
     try:
         dist[u] = dist[u] + 1
     except KeyError:
         dist[u] = 1

print dist
----



More information about the Python-list mailing list