Re: [Python] Determinazione altezza albero

2013-12-07 Per discussione Federico Caboni
Il giorno 06/dic/2013, alle ore 08:30, Diego Barrera ha scritto: > > Pero' la versione di Dario mi sembra meno criptica; che ne pensate? Questione, anche, di abitudine. Personalmente trovo le comprehension molto più chiare dei cicli, idem per le espressioni condizionali su una linea (ora

Re: [Python] Determinazione altezza albero

2013-12-06 Per discussione Dario Bertini
io il codice originale l'ho scritto assumendo questo tipo di albero: tree=((),((),((),((),(),((),,((),())) con il quale funziona sia bool(len(tree)==0) che bool(tree) ma come albero è un po' farlocco, visto che non contiene nessun dato se invece di metterci la tupla vuota si mette un valore

Re: [Python] Determinazione altezza albero

2013-12-06 Per discussione Diego Barrera
Il 06/12/2013 11:28, Simone Federici ha scritto: On Fri, Dec 6, 2013 at 8:30 AM, Diego Barrera > wrote: Pero' la versione di Dario mi sembra meno criptica; che ne pensate? a me piace la seconda, che poi si sposa bene anche con il pensiero umano, torna que

Re: [Python] Determinazione altezza albero

2013-12-06 Per discussione Simone Federici
On Fri, Dec 6, 2013 at 8:30 AM, Diego Barrera wrote: > Pero' la versione di Dario mi sembra meno criptica; che ne pensate? a me piace la seconda, che poi si sposa bene anche con il pensiero umano, torna questo se X altrimenti quest'altro. ___ Python ma

Re: [Python] Determinazione altezza albero

2013-12-05 Per discussione Diego Barrera
Il 05/12/2013 17:52, Nicola Larosa ha scritto: Nadir Sampaoli wrote: Qui, volendo, credo si possa anche togliere un paio di parentesi intorno al generatore: def depth(tree): return 1 if not tree else 1+max(depth(t) for t in tree) E togliere un not invertendo la condizione logica (che

Re: [Python] Determinazione altezza albero

2013-12-05 Per discussione Nicola Larosa
Nadir Sampaoli wrote: > Qui, volendo, credo si possa anche togliere un paio di parentesi > intorno al generatore: > >> def depth(tree): >> return 1 if not tree else 1+max(depth(t) for t in tree) E togliere un not invertendo la condizione logica (che brutti gli if con la negazione superflu

Re: [Python] Determinazione altezza albero

2013-12-05 Per discussione Nadir Sampaoli
Ciao, 2013/12/5 Federico Caboni : > con le generator expressions (quasi uguale): > > def depth(tree): > return 1 if not tree else 1+max((depth(t) for t in tree)) > > — Federico Qui, volendo, credo si possa anche togliere un paio di parentesi intorno al generatore: > def depth(tree): >

Re: [Python] Determinazione altezza albero

2013-12-05 Per discussione Daniele Varrazzo
On 2013-12-05 15:42, Dario Bertini wrote: 2013/12/5 Daniele Varrazzo : la cosa bella di map(), è che in python3 è lazy In Python 2 l'equivalente è itertools.imap. già... già che ci sono scrivo anche per esteso la versione con chain() alla quale ho accennato prima from itertools import

Re: [Python] Determinazione altezza albero

2013-12-05 Per discussione Dario Bertini
2013/12/5 Daniele Varrazzo : > Ah, avevo fatto una prova al volo: > > max([], 0) > > e aveva restituito zero, quindi pensavo si comportasse come sum(). > > Ora l'ho rifatta su un'altra macchina e mi ha restituito [] :) > > Riparare i confronti è uno dei migliori aggiustamenti di Py3, dove quell

Re: [Python] Determinazione altezza albero

2013-12-05 Per discussione Federico Caboni
Il giorno 05/dic/2013, alle ore 16:29, Dario Bertini ha scritto: > yield ha più il significato di "dare", "restituire", "fornire" più che > di "mantenere" > > https://en.wiktionary.org/wiki/yield#Verb > > io lo vedo come un return che "restituisce valori senza ritornare" Lo so, è usato per l

Re: [Python] Determinazione altezza albero

2013-12-05 Per discussione Daniele Varrazzo
On 2013-12-05 15:29, Dario Bertini wrote: On Thu, Dec 5, 2013 at 4:12 PM, Daniele Varrazzo wrote: penso funzioni anche: def depth(tree): return 1 + max((depth(t) for t in tree), 0) no, Ah, avevo fatto una prova al volo: max([], 0) e aveva restituito zero, quindi pensavo s

Re: [Python] Determinazione altezza albero

2013-12-05 Per discussione Dario Bertini
On Thu, Dec 5, 2013 at 4:12 PM, Daniele Varrazzo wrote: > penso funzioni anche: > > def depth(tree): > return 1 + max((depth(t) for t in tree), 0) no, max(...) max(iterable[, key=func]) -> value max(a, b, c, ...[, key=func]) -> value With a single iterable argument, retu

Re: [Python] Determinazione altezza albero

2013-12-05 Per discussione Daniele Varrazzo
On 2013-12-05 14:11, Federico Caboni wrote: def depth(tree): return 1 if not tree else 1+max((depth(t) for t in tree)) penso funzioni anche: def depth(tree): return 1 + max((depth(t) for t in tree), 0) -- Daniele ___ Python mai

Re: [Python] Determinazione altezza albero

2013-12-05 Per discussione Federico Caboni
Il giorno 05/dic/2013, alle ore 15:07, De Santis Luca ha scritto: > Effettivamente è molto compatta ed elegante, non conoscevo la funzione map(), > praticamente è una forma più compatta di yield se non ho capito male . No: sono due cose diverse. yield serve per creare un generatore, ovvero un

Re: [Python] Determinazione altezza albero

2013-12-05 Per discussione Federico Caboni
Il giorno 05/dic/2013, alle ore 11:55, Alberto Granzotto ha scritto: > > On Thu, Dec 5, 2013 at 12:54 AM, Dario Bertini wrote: > >>> def height(tree): > ... if len(tree) == 0: > ... return 1 > ... else: > ... return 1+max(map(height, tree)) > > > bello, molto elegante l'uso di

Re: [Python] Determinazione altezza albero

2013-12-05 Per discussione Federico Caboni
Il giorno 05/dic/2013, alle ore 11:55, Alberto Granzotto ha scritto: > > On Thu, Dec 5, 2013 at 12:54 AM, Dario Bertini wrote: > >>> def height(tree): > ... if len(tree) == 0: > ... return 1 > ... else: > ... return 1+max(map(height, tree)) > > > bello, molto elegante l'uso di

Re: [Python] Determinazione altezza albero

2013-12-05 Per discussione De Santis Luca
Effettivamente è molto compatta ed elegante, non conoscevo la funzione map(), praticamente è una forma più compatta di yield se non ho capito male . grazie della dritta Da: Dario Bertini Data invio: ‎giovedì‎ ‎5‎ ‎dicembre‎ ‎2013 ‎00‎:‎54 A: Mailing List Python >>> tree=((),((),((),(()

Re: [Python] Determinazione altezza albero

2013-12-05 Per discussione Alberto Granzotto
On Thu, Dec 5, 2013 at 12:54 AM, Dario Bertini wrote: > >>> def height(tree): > ... if len(tree) == 0: > ... return 1 > ... else: > ... return 1+max(map(height, tree)) > bello, molto elegante l'uso di map con la funzione ricorsiva. ___ Pyt

Re: [Python] Determinazione altezza albero

2013-12-04 Per discussione Dario Bertini
>>> tree=((),((),((),((),(),((),,((),())) >>> tree ((), ((), ((), ((), (), ((),, ((), ())) >>> def height(tree): ... if len(tree) == 0: ... return 1 ... else: ... return 1+max(map(height, tree)) ... >>> height(tree) 6 -- xmpp: berda...@gmail.com bitmessage: BM-2cTYXfGiSTsnx3r

[Python] Determinazione altezza albero

2013-12-04 Per discussione De Santis Luca
Buonasera a tutti, volevo porvi un quesito e commetto riceverò degli insulti Sto facendo una funzione per determinare l’altezza di un albero, non un albero binario, ma uno generico in cui ogni nodo può avere un numero qualsiasi di sotto-nodi. Ho realizzato la funzione ricorsiva in questo modo