[Python] Determinazione altezza albero

Dario Bertini berdario a gmail.com
Gio 5 Dic 2013 16:42:44 CET


2013/12/5 Daniele Varrazzo <piro at develer.com>:
> 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 quello
> che ho fatto dà TypeError invece di un risultato a caso.
>

già, è anche per cose come questa che dico sempre alla gente di aprire
python3 come repl, invece di usare python senza specificare il numero
di versione :)


>
>> 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 chain
def height(tree):
   return 1 + max(chain([0], map(height, tree)))

-- 
xmpp: berdario at gmail.com
bitmessage: BM-2cTYXfGiSTsnx3righ6aHcJSWe4MV17jDP
gpg fingerprint: 3F8D53518012716C4EEF7DF67B498306B3BF75A0 (used just
for signing commits)


Maggiori informazioni sulla lista Python