[Python] Confronto due stringhe "dettagliato"

ZeD vito.detullio a gmail.com
Dom 20 Gen 2008 19:02:51 CET


Enrico Franchi wrote:

>> In [38]: f = lambda s1,s2: sum(1 for c1,c2 in zip(s1, s2) if c1 == c2)
> Stilisticamente i pythonisti sono un po' contrari alle lambda con nome.

guarda che avevo detto chiaramente che era una porcata!

> Se ci pensi il punto di lambda č creare una funzione *senza* darle un
> nome.

ovvio, ma...

> Se poi prendi l'oggetto funzione e gli dai un nome, quale dovrebbe
> essere il presunto vantaggio di non usare la classica def?

...mi ha consentito d'avere un one liner pių corto :D

come puoi vedere, l'equivalente ottenuta con "def" č pių lunga di ben 4
caratteri! (oltre l'a-capo aggiuntivo che vuole ipython)

In [1]: f = lambda s1,s2: sum(1 for c1,c2 in zip(s1, s2) if c1 == c2)

In [2]: def f(s1, s2): return sum(1 for c1, c2 in zip(s1, s2) if c1 == c2)
   ...:

-- 
Under construction



More information about the Python mailing list