[Python] come ottenere numeri dispari casuali in un intervallo dato

Enrico Franchi enrico.franchi a gmail.com
Mar 5 Gen 2010 14:05:22 CET


On Jan 5, 2010, at 1:17 PM, simone gabbriellini wrote:

> la quesitone dell'efficienza è importantissima, dato che questo "posizionamento"
> viene fatto molte volte (ed i punti sono circa 2000). 

Quindi *misura* e non assumere che una soluzione sia piu' veloce di un altra.
Tipo, *qui* randrange e' piu' veloce dei giochini con i bit.
Addirittura ho fatto meglio i test e choice e' *molto* piu' veloce, a patto di pregenerare
il pool di numeri.

% /usr/bin/python2.6 oddrandom.py
baseline : 0.0176110267639
bit manip: 2.2840821743
randrange: 2.14818310738
choice   : 0.811858892441


con choice faccio una volta per tutte:

a = range(1, 100)

e poi pesco con:
choice(a)



Maggiori informazioni sulla lista Python