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

_______________________________________________
Python mailing list
Python@lists.python.it
http://lists.python.it/mailman/listinfo/python

Rispondere a