Sto provando a scrivere un'espressione lambda che chiama se stessa, ma non riesco a trovare alcuna sintassi per quello, o anche se è possibile.espressioni lambda ricorsive possibili?
Essenzialmente quello che volevo trasferire la seguente funzione nella seguente espressione lambda: (mi rendo conto che è una domanda di stupido, si aggiunge solo, ma sto esplorando quello che posso fare con lambda-espressioni in Python)
def add(a, b):
if a <= 0:
return b
else:
return 1 + add(a - 1, b)
add = lambda a, b: [1 + add(a-1, b), b][a <= 0]
ma chiamando la forma lambda di aggiungi risultati in un errore di runtime perché viene raggiunta la profondità massima di ricorsione. È persino possibile farlo in python? O sto solo facendo un errore stupido? Oh, sto usando python3.0, ma non penso che dovrebbe essere importante?
espressioni lambda sono abbastanza rotto in pitone. non sono abbastanza familiare per dare una risposta completa, ma se ti convince, capisco che Guido odia le espressioni lambda: P –
vedi qui, duplicato esatto: http://stackoverflow.com/questions/481692/can-a -lambda-function-call-itself-recursively-in-python –
Non c'è nulla di rotto in loro. Sono solo inutili, in quanto è possibile utilizzare una funzione, che è più facile da leggere e capire. –