tips for this exercise?
Kent Johnson
kent at kentsjohnson.com
Tue Mar 28 15:54:19 EST 2006
John Salerno wrote:
> Brian Quinlan wrote:
>
>>I would just write the function like this:
>>
>>def genNumbers():
>> shuffle_nums = numbers[:] # copy the list to preserve the orginal
>> # order (if it matters)
>> random.shuffle(shuffle_nums) # shuffle the entire list
>> return shuffle_nums[:5] # return the first 5 elements
>
>
> Thanks. Interesting idea. I did consider copying it, but does that hurt
> performance each time the function is called? I know it may not be
> noticeable, but I don't like the idea of doing unnecessary work like
> that, if it is in fact unnecessary.
Yes, it hurts performance. No, you won't notice it. It probably is
unnecessary for your application, since you are just going to shuffle
the list again for the next use.
BUT...worrying about performance at this level is generally a waste of
your time. For a program that picks lottery numbers, performance would
have to be truly awful before you even noticed. Don't optimize until you
have identified a problem.
Python is pretty fast for most of the things you will want to do with it.
Kent
More information about the Python-list
mailing list