Python Language Lambda récursif utilisant une variable affectée


Exemple

Une méthode pour créer des fonctions lambda récursives consiste à affecter la fonction à une variable, puis à référencer cette variable dans la fonction elle-même. Un exemple courant de ceci est le calcul récursif de la factorielle d'un nombre - tel que montré dans le code suivant:

lambda_factorial = lambda i:1 if i==0 else i*lambda_factorial(i-1)
print(lambda_factorial(4)) # 4 * 3 * 2 * 1 = 12 * 2 = 24

Description du code

La fonction lambda, à travers son affectation de variable, reçoit une valeur (4) qu’elle évalue et retourne 1 si elle est 0 sinon elle renvoie la valeur courante ( i ) * un autre calcul par la fonction lambda de la valeur - 1 ( i-1 ). Cela continue jusqu'à ce que la valeur passée soit décrémentée à 0 ( return 1 ). Un processus qui peut être visualisé comme:

recursive_lambda_path