I numeri, in assoluto, non vogliono dire granché, lordkrandel... Troppa variabilità di hardware e software. ;-) Piuttosto, esegui il timer di tutti e tre i metodi sul tuo computer e confronta i risultati, così quantomeno hai una certa uniformità di base. :-)
Paolo
On Thu, 2011-02-10 at 18:22 +0100, lordkrandel wrote:
> On 10/02/2011 18.02, Gianluca Bargelli wrote:
> > t1 = Timer(""" reduce(lambda x, y: x*10+y, (1,2,3,4,5,6,7)) """)
> > t2 = Timer(""" "".join([str(i) for i in (1,2,3,4,5,6,7)]) """)
> > "Reduce: 1.58372807503 | List comprehension: 2.46447396278"
> > usando Python 2.6.6 (Linux), qualcuno sa spiegare il perché di tale
> > differenza? :-)
>
> Sicuramente perchè non passi per la conversione in stringa, tagliando
> fuori tutti i problemi di charset etc...
>
> >>> Timer(""" int('%s' * 7 % tuple(range(1,8)))""").timeit()
> 2.3354565150000006
>
>
>
signature.asc
Description: This is a digitally signed message part
_______________________________________________ Python mailing list [email protected] http://lists.python.it/mailman/listinfo/python
