[Python 3.8 ~] Wie man rekursive Funktionen mit Lambda-Ausdrücken intelligent definiert

Einführung

Möglicherweise möchten Sie die Wiederholung in Lambda-Ausdrücken verwenden (hauptsächlich im Materialcode). Wenn es Python 3.8 oder höher ist, wird es aktualisiert. Vergleichen wir mit der Funktion, die das x-te der Fibonacci-Sequenz findet.

Methode

〜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 ~] Wie man rekursive Funktionen mit Lambda-Ausdrücken intelligent definiert
So erstellen Sie eine rekursive Funktion
[Einführung in Python] So teilen Sie eine Zeichenfolge mit der Funktion split
Lesen einer CSV-Datei mit Python 2/3
[Python] Erklärt anhand eines konkreten Beispiels, wie die Bereichsfunktion verwendet wird
[Einführung in Python] So schreiben Sie eine Zeichenfolge mit der Formatierungsfunktion
So konvertieren / wiederherstellen Sie einen String mit [] in Python
[Python] Wie zeichnet man mit Matplotlib ein Liniendiagramm?
[Einführung in Python] Wie iteriere ich mit der Bereichsfunktion?
So rufen Sie eine Funktion auf
Betrachten Sie die Konvertierung von Python rekursiv in nicht rekursiv
[Python] So erstellen Sie mit Matplotlib ein zweidimensionales Histogramm
Wie benutzt man Python Lambda?
[Python] So rufen Sie eine Funktion von c aus Python auf (ctypes edition)
[Python] Wie zeichnet man mit Matplotlib ein Streudiagramm?
So installieren Sie NPI + Senden Sie eine Nachricht an Python
So konvertieren Sie mit Python [Anwendung] von einem Array in ein Wörterbuch
Erstellen Sie einen Mastodon-Bot mit einer Funktion, die automatisch mit Python antwortet
So drucken Sie Zeichen als Tabelle mit der Druckfunktion von Python
So definieren Sie mehrere Variablen in einer Python for-Anweisung
Erstellen einer Entwicklungsumgebung für die Python2.7-Serie mit Vagrant
[Einführung in Python] So erhalten Sie Daten mit der Funktion listdir
Python: So verwenden Sie Async mit
Erste Schritte mit Python
[Python] Machen Sie die Funktion zu einer Lambda-Funktion
So berechnen Sie das Datum mit Python
Verwendung der Zip-Funktion von Python
Starten eines mit Jupyter Notebook erstellten Python-Programms
So erstellen Sie eine Überwachungskamera (Überwachungskamera) mit Opencv und Python
[Python3] Definition eines Dekorators, der die Ausführungszeit einer Funktion misst
[Python] Erklärt anhand eines Beispiels, wie die Formatierungsfunktion verwendet wird
[Python] So erhalten Sie mit Enum einen Wert mit einem anderen Schlüssel als dem Wert
[ROS2] So spielen Sie eine Bag-Datei mit Start im Python-Format ab
So senden Sie eine Anfrage mit Python an die DMM (FANZA) -API
So erstellen Sie mit AWS Lambda eine serverlose API für maschinelles Lernen
Erstellen Sie mit Class einen Python-Funktionsdekorator
Verwenden Sie print in Python2 lambda expression
Dynamisches Definieren von Variablen in Python
So fügen Sie ein Paket mit PyCharm hinzu
[Python] Wie man eine Klasse iterierbar macht
[Python] So konvertieren Sie eine zweidimensionale Liste in eine eindimensionale Liste
[Python] Verwendung von __command__, Funktionserklärung
So arbeiten Sie mit BigQuery in Python
[Python] So invertieren Sie eine Zeichenfolge
Wie bekomme ich Stacktrace in Python?
Wie man einen Taschentest mit Python macht
So zeigen Sie Python-Japanisch mit Lolipop an
Zugriff auf RDS von Lambda (Python)
Lambda-Funktion zur Erstellung eines AMI-Backups (Python)
Stellen Sie mit AWS Lambda Python eine Verbindung zu s3 her
Wie man mit Python-Flüchen Japanisch eingibt
[Python] Verstehen, wie rekursive Funktionen verwendet werden
So führen Sie Maya Python-Skripte aus
So installieren Sie Python3 mit Docker Centos
So generieren Sie eine neue Protokollgruppe in CloudWatch mit Python in Lambda
[Einführung in Python] So sortieren Sie den Inhalt einer Liste effizient mit Listensortierung