[Python 3.8 ~] Comment définir intelligemment des fonctions récursives avec des expressions lambda

introduction

Vous pouvez utiliser la récurrence dans les expressions lambda (principalement dans le code matériel). S'il s'agit de Python 3.8 ou version ultérieure, ce sera rafraîchissant. Comparons avec la fonction pour trouver le xième de la séquence de Fibonacci.

Méthode

〜Python3.7

print((lambda x: (lambda f, x: f(f, x))(lambda f, x: f(f, x-1)+f(f, x-2) if x > 2 else 1, x))(10))
# >> 55

Python3.8〜

print((self:=lambda x:self(x-1) + self(x-2) if x > 2 else 1)(10))
# >> 55

** Sugoku Sukiri **

Recommended Posts

[Python 3.8 ~] Comment définir intelligemment des fonctions récursives avec des expressions lambda
Comment créer une fonction récursive
[Introduction à Python] Comment fractionner une chaîne de caractères avec la fonction split
Comment lire un fichier CSV avec Python 2/3
[Python] Explique comment utiliser la fonction range avec un exemple concret
[Introduction à Python] Comment écrire une chaîne de caractères avec la fonction format
Comment convertir / restaurer une chaîne avec [] en python
[Python] Comment dessiner un graphique linéaire avec Matplotlib
[Introduction à Python] Comment itérer avec la fonction range?
Comment appeler une fonction
Envisagez la conversion de Python récursif en non récursif
[Python] Comment créer un histogramme bidimensionnel avec Matplotlib
Comment utiliser Python lambda
[Python] Comment appeler une fonction de c depuis python (édition ctypes)
[Python] Comment dessiner un diagramme de dispersion avec Matplotlib
Comment installer NPI + envoyer un message à la ligne avec python
Comment convertir un tableau en dictionnaire avec Python [Application]
Créez un bot Mastodon avec une fonction pour répondre automatiquement avec Python
Comment imprimer des caractères sous forme de tableau avec la fonction d'impression de Python
Comment définir plusieurs variables dans une instruction Python for
Comment créer un environnement de développement de la série Python2.7 avec Vagrant
[Introduction à Python] Comment obtenir des données avec la fonction listdir
Python: comment utiliser async avec
Comment démarrer avec Python
[Python] Faire de la fonction une fonction lambda
Comment calculer la date avec python
Comment utiliser la fonction zip de python
Comment démarrer par lots un programme Python créé avec le notebook Jupyter
Comment créer une caméra de surveillance (caméra de sécurité) avec Opencv et Python
[Python3] Définition d'un décorateur qui mesure le temps d'exécution d'une fonction
[Python] Explique comment utiliser la fonction format avec un exemple
[Python] Comment obtenir une valeur avec une clé autre que value avec Enum
[ROS2] Comment lire un fichier bag avec le lancement au format python
Comment envoyer une requête à l'API DMM (FANZA) avec python
Comment créer une API de machine learning sans serveur avec AWS Lambda
Créer un décorateur de fonction Python avec Class
Utiliser l'impression dans l'expression lambda Python2
Comment définir dynamiquement des variables en Python
Comment ajouter un package avec PyCharm
[Python] Comment rendre une classe itérable
[Python] Comment convertir une liste bidimensionnelle en liste unidimensionnelle
[python] Comment utiliser __command__, explication des fonctions
Comment utiliser BigQuery en Python
[Python] Comment inverser une chaîne de caractères
Comment obtenir stacktrace en python
Comment faire un test de sac avec python
Comment afficher le japonais python avec lolipop
Comment accéder à RDS depuis Lambda (python)
Fonction Lambda pour effectuer une sauvegarde AMI (python)
Connectez-vous à s3 avec AWS Lambda Python
Comment entrer le japonais avec les malédictions Python
[Python] Comprendre comment utiliser les fonctions récursives
Comment exécuter des scripts Maya Python
Comment installer python3 avec docker centos
Comment générer un nouveau groupe de journaux dans CloudWatch à l'aide de python dans Lambda
[Introduction à Python] Comment trier efficacement le contenu d'une liste avec le tri par liste