On Sat, Feb 20, 2010 at 11:22 AM, Andrew Fithian <afit...@gmail.com> wrote:
>  can
> you help me speed it up even more?
> import random
> def sample_with_replacement(list):
>     l = len(list) # the sample needs to be as long as list
>     r = xrange(l)
>     _random = random.random
>     return [list[int(_random()*l)] for i in r]

You don't have to assign to r, just call xrange() in the list comp.
You can cache int() as you do with random.random()
Did you try random.randint(0, l) instead of int(_random()*i) ?
You shouldn't call your parameter 'list', it hides the builtin list
and makes the code confusing.

You might want to ask this on comp.lang.python, many more optimization
gurus there.

Kent
_______________________________________________
Tutor maillist  -  Tutor@python.org
To unsubscribe or change subscription options:
http://mail.python.org/mailman/listinfo/tutor

Reply via email to