Re: [Python] Conversione tupla in intero

2011-02-10 Per discussione Valerio De Carolis
Il 10/02/2011 19:04, Simone Federici ha scritto: from timeit import Timer t1 = Timer(""" reduce(lambda x, y: x*10+y, (3,2,6,7,1,21,2)) """) t2 = Timer(""" "".join([str(i) for i in (3,2,6,7,1,21,2)]) """) t3 = Timer(""" int( '%s' * 7 % (3,2,6,7,1,21,2)) """) "Reduce: {0} |

Re: [Python] Conversione tupla in intero

2011-02-10 Per discussione Gianluca Bargelli
I miei risultati: (Python 2.6.6 Linux 64 bit su Intel Core duo T8100 @ 2.10 Ghz, 3 Gb Ram): Reduce: 1.50118589401 | List comprehension: 2.42310404778 | String: 1.31533288956 È logico pensare che la join+conversione sia l'overhead della List Comprehension...ma come si spiega la velocità di "String

Re: [Python] Conversione tupla in intero

2011-02-10 Per discussione Simone Federici
>>> from timeit import Timer >>> t1 = Timer(""" reduce(lambda x, y: x*10+y, (3,2,6,7,1,21,2)) """) >>> t2 = Timer(""" "".join([str(i) for i in (3,2,6,7,1,21,2)]) """) >>> t3 = Timer(""" int( '%s' * 7 % (3,2,6,7,1,21,2)) """) >>> "Reduce: {0} | List comprehension: {1} | String% {2}".format(t1.timei

Re: [Python] Conversione tupla in intero

2011-02-10 Per discussione Paolo Bernardi
Già, dipende dalle precondizioni. ;-) On Thu, 2011-02-10 at 18:28 +0100, Simone Federici wrote: > Già peccato che soffre di potenziali bug :-) > > > >>> reduce(lambda x, y: x*10+y, [2,3,5,7,81,3]) > 236513 signature.asc Description: This is a digitally signed message part

Re: [Python] Conversione tupla in intero

2011-02-10 Per discussione Paolo Bernardi
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 +010

Re: [Python] Conversione tupla in intero

2011-02-10 Per discussione Paolo Bernardi
On Thu, 2011-02-10 at 18:02 +0100, Gianluca Bargelli wrote: > from timeit import Timer > > 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)]) """) > > print("Reduce: {0} | List comprehension: {1}").format(t1.timeit(), > t2

Re: [Python] Conversione tupla in intero

2011-02-10 Per discussione Simone Federici
Già peccato che soffre di potenziali bug :-) >>> reduce(lambda x, y: x*10+y, [2,3,5,7,81,3]) 236513 2011/2/10 Andrea Ambu > Con la reduce stai facendo solo operazioni con interi senza tutto > l'overhead della conversione e lo spippolamento di stringhe. > > In pratica con la reduce e` come se f

Re: [Python] Conversione tupla in intero

2011-02-10 Per discussione Andrea Ambu
Con la reduce stai facendo solo operazioni con interi senza tutto l'overhead della conversione e lo spippolamento di stringhe. In pratica con la reduce e` come se facessi: def unisci_interi(tupla): r = 0 for i in tupla: r *= 10 r += i return r 2011/2/10 Gianluca Bargelli : > from

Re: [Python] Conversione tupla in intero

2011-02-10 Per discussione lordkrandel
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

Re: [Python] Conversione tupla in intero

2011-02-10 Per discussione lordkrandel
On 10/02/2011 18.02, Lorenzo Sutton wrote: Marco Beri wrote: int (''.join (str(x) for x in (1,2,3,4,5,6,7))) # Non so se vi piace, è poco newb-friendly int( '%s' * 7 % tuple(range(1,7+1)) ) -- Wyrmskull ___ Python mailing list Python@lists.pyth

Re: [Python] Conversione tupla in intero

2011-02-10 Per discussione Lorenzo Sutton
Marco Beri wrote: On 10/feb/2011, at 08:11, Lorenzo Sutton > wrote: Ciao Marco Beri wrote: 2011/2/9 Nicola Ferrari > Buonasera a tutti.. Domanda probabilmente stupida.. avendo una tupla (1,2,3,4,5,6,7), come posso creare u

Re: [Python] Conversione tupla in intero

2011-02-10 Per discussione Gianluca Bargelli
from timeit import Timer 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)]) """) print("Reduce: {0} | List comprehension: {1}").format(t1.timeit(), t2.timeit()) l'output sulla mia macchina con timeit() è: "Reduce: 1.5837280

Re: [Python] Conversione tupla in intero

2011-02-10 Per discussione Simone Federici
Quale è la più performante? 2011/2/10 Gianluca Bargelli > Ops, pardon! > > t = (1,2,3,4,5,6,7) > int("".join([str(i) for i in t])) > > La solita fretta :-) > > Il 10 febbraio 2011 17:32, Marco Beri ha scritto: > > 2011/2/10 Gianluca Bargelli > >> > >> Ecco la prima cosa che mi è venuta in men

Re: [Python] Conversione tupla in intero

2011-02-10 Per discussione Gianluca Bargelli
Ops, pardon! t = (1,2,3,4,5,6,7) int("".join([str(i) for i in t])) La solita fretta :-) Il 10 febbraio 2011 17:32, Marco Beri ha scritto: > 2011/2/10 Gianluca Bargelli >> >> Ecco la prima cosa che mi è venuta in mente: >> >> t = (1,2,3,4,5,6,7) >> "".join([str(i) for i in t]) >> >> Pulita, leg

Re: [Python] Conversione tupla in intero

2011-02-10 Per discussione Marco Beri
2011/2/10 Gianluca Bargelli > Ecco la prima cosa che mi è venuta in mente: > > t = (1,2,3,4,5,6,7) > "".join([str(i) for i in t]) > > Pulita, leggibile...semplice! ;-) > E sbagliata :-) Ci manca un int(). ___ Python mailing list Python@lists.python.it

Re: [Python] Conversione tupla in intero

2011-02-10 Per discussione Simone Federici
On Thu, Feb 10, 2011 at 08:48, Marco Mariani wrote: > > > >>> reduce(lambda x, y: x*10+y, [2,3,5,7,8,3]) > 235783 > +1 = 235784 ___ Python mailing list Python@lists.python.it http://lists.python.it/mailman/listinfo/python

Re: [Python] Conversione tupla in intero

2011-02-10 Per discussione Gianluca Bargelli
Ecco la prima cosa che mi è venuta in mente: t = (1,2,3,4,5,6,7) "".join([str(i) for i in t]) Pulita, leggibile...semplice! ;-) Ciao! Il 09 febbraio 2011 22:55, Nicola Ferrari ha scritto: > Buonasera a tutti.. > Domanda probabilmente stupida.. avendo una tupla (1,2,3,4,5,6,7), > come posso cre

Re: [Python] Conversione tupla in intero

2011-02-10 Per discussione Marco Beri
On 10/feb/2011, at 08:11, Lorenzo Sutton wrote: > Ciao > > Marco Beri wrote: >> >> >> >> 2011/2/9 Nicola Ferrari >> Buonasera a tutti.. >> Domanda probabilmente stupida.. avendo una tupla (1,2,3,4,5,6,7), >> come posso creare un intero formato dagli elementi della tupla? >> (nell'esempio d

Re: [Python] Conversione tupla in intero

2011-02-10 Per discussione Paolo Bernardi
And the winner is... ;-) È decisamente la soluzione più carina, funziona perché la reduce, come da documentazione, lavora da sinistra verso destra. On Thu, 2011-02-10 at 08:48 +0100, Marco Mariani wrote: > >>> reduce(lambda x, y: x*10+y, [2,3,5,7,8,3]) > 235783 signature.asc Description: This

Re: [Python] Conversione tupla in intero

2011-02-09 Per discussione Marco Mariani
2011/2/9 Andrea Ambu > intero = sum(i*10**n for n, i in enumerate(a[::-1])) > >>> reduce(lambda x, y: x*10+y, [2,3,5,7,8,3]) 235783 ___ Python mailing list Python@lists.python.it http://lists.python.it/mailman/listinfo/python

Re: [Python] Conversione tupla in intero

2011-02-09 Per discussione Lorenzo Sutton
Ciao Marco Beri wrote: 2011/2/9 Nicola Ferrari > Buonasera a tutti.. Domanda probabilmente stupida.. avendo una tupla (1,2,3,4,5,6,7), come posso creare un intero formato dagli elementi della tupla? (nell'esempio della tupla sopra, 1234567)?

Re: [Python] Conversione tupla in intero

2011-02-09 Per discussione Andrea Ambu
Se la tupla si chiamasse `a`: intero = sum(i*10**n for n, i in enumerate(a[::-1])) 2011/2/9 Nicola Ferrari : > Buonasera a tutti.. > Domanda probabilmente stupida.. avendo una tupla (1,2,3,4,5,6,7), > come posso creare un intero formato dagli elementi della tupla? > (nell'esempio della tupla sopr

Re: [Python] Conversione tupla in intero

2011-02-09 Per discussione Manlio Perillo
-BEGIN PGP SIGNED MESSAGE- Hash: SHA1 Il 09/02/2011 22:55, Nicola Ferrari ha scritto: > Buonasera a tutti.. > Domanda probabilmente stupida.. avendo una tupla (1,2,3,4,5,6,7), > come posso creare un intero formato dagli elementi della tupla? > (nell'esempio della tupla sopra, 1234567)? >

Re: [Python] Conversione tupla in intero

2011-02-09 Per discussione Nicola Ferrari
Beata ignoranza [?] Grazie marco Il giorno 09 febbraio 2011 22:57, Marco Beri ha scritto: > > > 2011/2/9 Nicola Ferrari > >> Buonasera a tutti.. >> Domanda probabilmente stupida.. avendo una tupla (1,2,3,4,5,6,7), >> come posso creare un intero formato dagli elementi della tupla? >> (nell'esemp

Re: [Python] Conversione tupla in intero

2011-02-09 Per discussione Marco Beri
2011/2/9 Nicola Ferrari > Buonasera a tutti.. > Domanda probabilmente stupida.. avendo una tupla (1,2,3,4,5,6,7), > come posso creare un intero formato dagli elementi della tupla? > (nell'esempio della tupla sopra, 1234567)? > > Se ho una tupla di stringhe posso usare "".join per concatenarli, ma

[Python] Conversione tupla in intero

2011-02-09 Per discussione Nicola Ferrari
Buonasera a tutti.. Domanda probabilmente stupida.. avendo una tupla (1,2,3,4,5,6,7), come posso creare un intero formato dagli elementi della tupla? (nell'esempio della tupla sopra, 1234567)? Se ho una tupla di stringhe posso usare "".join per concatenarli, ma nel caso di un intero?? Grazie _