On Jun 20, 10:58 pm, Cameron Simpson <c...@zip.com.au> wrote: > On 20Jun2010 12:44, Stefan Behnel <stefan...@behnel.de> wrote: > | southof40, 20.06.2010 12:19: > | >I have list of of N Vehicle objects - the only possible vehicles are > | >cars, bikes, trucks. > | > > | >I want to select an object from the list with a probability of : cars > | >0.7, bikes 0.3, trucks 0.1. > | > > | >I've currently implemented this by creating another list in which each > | >car object from the original list appears 7 times, each bike 3 times > | >and each truck once. I then pick at random from that list. > | > > | >This works but seems very clunky to me. > | > | Why? It's a very simple, generic, easy to understand and fast > | solution to the problem. > > Only 3 out of 4, if you want to be precise in your selections. > Supposing he wants probabilities 0.7432, 0.3765, 0.1087654 ? > The required list needs to be Very Long to achieve an accurate > representation, and thus Very Slow to construct/populate. >
Yes you're spot on here. Although I have used simple probabilities it occurred to me that the list for my current method would get pretty big if I changed the probs to be a little more refined. -- http://mail.python.org/mailman/listinfo/python-list