Inhaltsverzeichnis
Was ist die Lambda-Funktion in Python?
Heim Backend-Entwicklung Python-Tutorial Was ist die Lambda-Funktion in Python und warum brauchen wir sie?

Was ist die Lambda-Funktion in Python und warum brauchen wir sie?

Aug 25, 2023 pm 02:41 PM
python lambda函数 需要

Was ist die Lambda-Funktion in Python und warum brauchen wir sie?

In diesem Artikel erfahren wir mehr über die Lambda-Funktion in Python und warum wir sie brauchen, und sehen uns einige praktische Beispiele für die Lambda-Funktion an.

Was ist die Lambda-Funktion in Python?

Lambda-Funktionen, oft „anonyme Funktionen“ genannt, sind die gleichen wie gewöhnliche Python-Funktionen, mit der Ausnahme, dass sie ohne Namen definiert werden können. Das Schlüsselwort >def wird zum Definieren gewöhnlicher Funktionen verwendet, während das Schlüsselwort lambda zum Definieren anonymer Funktionen verwendet wird. Sie sind jedoch auf einzeilige Ausdrücke beschränkt. Sie können wie reguläre Funktionen mehrere Argumente akzeptieren.

Grammatik

lambda arguments: expression
Nach dem Login kopieren

  • Diese Funktion akzeptiert eine beliebige Anzahl von Eingaben, wertet jedoch nur einen Ausdruck aus und gibt ihn zurück.

  • Lambda-Funktionen können überall dort eingesetzt werden, wo ein Funktionsobjekt benötigt wird.

  • Sie müssen bedenken, dass Lambda-Funktionen syntaktisch auf einen einzelnen Ausdruck beschränkt sind.

  • Neben anderen Arten von Ausdrücken in Funktionen hat es vielfältige Verwendungsmöglichkeiten in bestimmten Programmierbereichen.

Warum brauchen wir Lambda-Funktionen?

  • Eine Lambda-Funktion erfordert weniger Codezeilen als eine normale Python-Funktion, die mit dem Schlüsselwort

    def geschrieben wurde. Dies ist jedoch nicht ganz richtig, da mit def definierte Funktionen in einer Zeile definiert werden können. Allerdings werden def -Funktionen normalerweise in mehr als einer Zeile definiert.

  • Sie werden normalerweise verwendet, wenn eine kürzere (temporäre) Funktion erforderlich ist, normalerweise innerhalb einer anderen Funktion (z. B. einem Filter, einer Zuordnung oder einer Reduzierung).

  • Sie können eine Funktion definieren und sie direkt am Ende der Definition mithilfe einer Lambda-Funktion aufrufen. Dies ist mit Def-Funktionen nicht möglich.

Einfaches Beispiel einer Python-Lambda-Funktion

Beispiel

# input string 
inputString = 'TUTORIALSpoint'
 
# converting the given input string to lowercase and reversing it
# with the lambda function
reverse_lower = lambda inputString: inputString.lower()[::-1]

print(reverse_lower(inputString))
Nach dem Login kopieren

Ausgabe

Bei der Ausführung generiert das obige Programm die folgende Ausgabe:

tniopslairotut
Nach dem Login kopieren

Verwenden Sie Lambda-Funktionen in bedingten Prüfungen

Beispiel

# Formatting number to 2 decimal places using lambda function
formatNum = lambda n: f"{n:e}" if isinstance(n, int) else f"{n:,.2f}"
 
print("Int formatting:", formatNum(1000))
print("float formatting:", formatNum(5555.4895412))
Nach dem Login kopieren

Ausgabe

Bei der Ausführung generiert das obige Programm die folgende Ausgabe:

Int formatting: 1.000000e+03
float formatting: 5,555.49
Nach dem Login kopieren

Was ist der Unterschied zwischen der Lambda-Funktion und der definierten Funktion?

Beispiel

# creating a function that returns the square root of 
# the number passed to it
def square(x):
	return x*x


# using lambda function that returns the square root of 
# the number passed 
lambda_square = lambda x: x*x


# printing the square root of the number by passing the
# random number to the above-defined square function with the def keyword
print("Square of the number using the function with 'def' keyword:", square(4))

# printing the square root of the number by passing the
# random number to the above lambda_square function with lambda keyword
print("Square of the number using the function with 'lambda' keyword:", lambda_square(4))
Nach dem Login kopieren

Ausgabe

Bei der Ausführung generiert das obige Programm die folgende Ausgabe:

Square of the number using the function with 'def' keyword: 16
Square of the number using the function with 'lambda' keyword: 16
Nach dem Login kopieren

Wie im vorherigen Beispiel gezeigt, funktionieren die Funktionen

square() und lambda_square() gleich und wie erwartet. Schauen wir uns dieses Beispiel genauer an und finden den Unterschied zwischen ihnen heraus -

Lambda-Funktion verwendenKeine Lambda-FunktionUnterstützt einzeilige Anweisungen, die einen bestimmten Wert zurückgeben. Erlaubt eine beliebige Anzahl von Zeilen innerhalb eines Funktionsblocks. Ideal für kleine Operationen oder Datenmanipulation. Dies ist in Situationen nützlich, in denen mehrere Codezeilen erforderlich sind. Reduzieren Sie die Lesbarkeit des CodesWir können die Lesbarkeit verbessern, indem wir Kommentare und Funktionserklärungen verwenden.
Praktische Anwendungen der Python-Lambda-Funktion

Beispiel

Verwenden Sie Lambda-Funktionen mit Listenverständnis

is_odd_list = [lambda arg=y: arg * 5 for y in range(1, 10)]
 
# looping on each lambda function and calling the function
# for getting the multiplied value
for i in is_odd_list:
	print(i())
Nach dem Login kopieren

Ausgabe

Bei der Ausführung generiert das obige Programm die folgende Ausgabe:

5
10
15
20
25
30
35
40
45
Nach dem Login kopieren

Bei jeder Iteration des Listenverständnisses wird eine neue Lambda-Funktion mit einem Standardparameter y erstellt (wobei

y das aktuelle Element in der Iteration ist). Später, in der for-Schleife, verwenden wir i(), um dasselbe Funktionsobjekt mit Standardparametern aufzurufen und den erforderlichen Wert zu erhalten. Daher enthält is_odd_list eine Liste von Lambda-Funktionsobjekten.

Beispiel

Verwenden Sie Lambda-Funktionen mit if-else-Bedingungen

# using lambda function to find the maximum number among both the numbers
find_maximum = lambda x, y : x if(x > y) else y
 
print(find_maximum(6, 3))
Nach dem Login kopieren

Ausgabe

Bei der Ausführung generiert das obige Programm die folgende Ausgabe:

6
Nach dem Login kopieren

Beispiel

Verwenden Sie Lambda-Funktionen mit mehreren Anweisungen

inputList = [[5,2,8],[2, 9, 12],[10, 4, 2, 7]]

# sorting the given each sublist using lambda function
sorted_list = lambda k: (sorted(e) for e in k)

# getting the second-largest element 
second_largest = lambda k, p : [x[len(x)-2] for x in p(k)]
output = second_largest(inputList, sorted_list)

# printing the second largest element
print(output)
Nach dem Login kopieren

Ausgabe

Bei der Ausführung generiert das obige Programm die folgende Ausgabe:

[5, 9, 7]
Nach dem Login kopieren

Python-Lambda-Funktion mit filter()

Beispiel

inputList = [3, 5, 10, 7, 24, 6, 1, 12, 8, 4]

# getting the even numbers from the input list 
# using lambda and filter functions
evenList = list(filter(lambda n: (n % 2 == 0), inputList))
# priting the even numbers from the input list
print("Even numbers from the input list:", evenList)
Nach dem Login kopieren

Ausgabe

Bei der Ausführung generiert das obige Programm die folgende Ausgabe:

Even numbers from the input list: [10, 24, 6, 12, 8, 4]
Nach dem Login kopieren

Python-Lambda-Funktion mit map()

Pythons Funktion „map()“ akzeptiert eine Funktion und eine Liste als Parameter. Wenn Sie die Funktion mit einer Lambda-Funktion und einer Liste aufrufen, wird eine neue Liste mit allen Lambda-geänderten Elementen zurückgegeben, die die Funktion für jedes Element zurückgibt.

Beispiel

Konvertieren Sie alle Listenelemente mithilfe der Lambda- und Map()-Funktionen in Kleinbuchstaben.

# input list
inputList = ['HELLO', 'TUTORIALSpoint', 'PyTHoN', 'codeS']

# converting all the input list elements to lowercase using lower()
# with the lambda() and map() functions and returning the result list
lowercaseList = list(map(lambda animal: animal.lower(), inputList))

# printing the resultant list
print("Converting all the input list elements to lowercase:\n", lowercaseList)
Nach dem Login kopieren

Ausgabe

Bei der Ausführung generiert das obige Programm die folgende Ausgabe:

Converting all the input list elements to lowercase:
 ['hello', 'tutorialspoint', 'python', 'codes']
Nach dem Login kopieren
Fazit

In diesem Tutorial haben wir anhand vieler Beispiele ausführlich die Lambda-Funktion in Python kennengelernt. Wir haben auch den Unterschied zwischen Lambda-Funktionen und Def-Funktionen gelernt.

Das obige ist der detaillierte Inhalt vonWas ist die Lambda-Funktion in Python und warum brauchen wir sie?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn

Heiße KI -Werkzeuge

Undresser.AI Undress

Undresser.AI Undress

KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover

AI Clothes Remover

Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool

Undress AI Tool

Ausziehbilder kostenlos

Clothoff.io

Clothoff.io

KI-Kleiderentferner

AI Hentai Generator

AI Hentai Generator

Erstellen Sie kostenlos Ai Hentai.

Heißer Artikel

R.E.P.O. Energiekristalle erklärten und was sie tun (gelber Kristall)
3 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Beste grafische Einstellungen
3 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. So reparieren Sie Audio, wenn Sie niemanden hören können
4 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌
WWE 2K25: Wie man alles in Myrise freischaltet
1 Monate vor By 尊渡假赌尊渡假赌尊渡假赌

Heiße Werkzeuge

Notepad++7.3.1

Notepad++7.3.1

Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version

SublimeText3 chinesische Version

Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1

Senden Sie Studio 13.0.1

Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6

Dreamweaver CS6

Visuelle Webentwicklungstools

SublimeText3 Mac-Version

SublimeText3 Mac-Version

Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Hadidb: Eine leichte, horizontal skalierbare Datenbank in Python Hadidb: Eine leichte, horizontal skalierbare Datenbank in Python Apr 08, 2025 pm 06:12 PM

Hadidb: Eine leichte, hochrangige skalierbare Python-Datenbank Hadidb (HadIDB) ist eine leichte Datenbank in Python mit einem hohen Maß an Skalierbarkeit. Installieren Sie HadIDB mithilfe der PIP -Installation: PipinstallHadIDB -Benutzerverwaltung erstellen Benutzer: createUser (), um einen neuen Benutzer zu erstellen. Die Authentication () -Methode authentifiziert die Identität des Benutzers. fromHadidb.operationImportUseruser_obj = user ("admin", "admin") user_obj.

Navicat -Methode zum Anzeigen von MongoDB -Datenbankkennwort Navicat -Methode zum Anzeigen von MongoDB -Datenbankkennwort Apr 08, 2025 pm 09:39 PM

Es ist unmöglich, das MongoDB -Passwort direkt über Navicat anzuzeigen, da es als Hash -Werte gespeichert ist. So rufen Sie verlorene Passwörter ab: 1. Passwörter zurücksetzen; 2. Überprüfen Sie die Konfigurationsdateien (können Hash -Werte enthalten). 3. Überprüfen Sie Codes (May Hardcode -Passwörter).

Der 2-stündige Python-Plan: ein realistischer Ansatz Der 2-stündige Python-Plan: ein realistischer Ansatz Apr 11, 2025 am 12:04 AM

Sie können grundlegende Programmierkonzepte und Fähigkeiten von Python innerhalb von 2 Stunden lernen. 1. Lernen Sie Variablen und Datentypen, 2. Master Control Flow (bedingte Anweisungen und Schleifen), 3.. Verstehen Sie die Definition und Verwendung von Funktionen, 4. Beginnen Sie schnell mit der Python -Programmierung durch einfache Beispiele und Code -Snippets.

Wie optimieren Sie die MySQL-Leistung für Hochlastanwendungen? Wie optimieren Sie die MySQL-Leistung für Hochlastanwendungen? Apr 08, 2025 pm 06:03 PM

Die MySQL-Datenbankleistung Optimierungshandbuch In ressourcenintensiven Anwendungen spielt die MySQL-Datenbank eine entscheidende Rolle und ist für die Verwaltung massiver Transaktionen verantwortlich. Mit der Erweiterung der Anwendung werden jedoch die Datenbankleistung Engpässe häufig zu einer Einschränkung. In diesem Artikel werden eine Reihe effektiver Strategien zur Leistungsoptimierung von MySQL -Leistung untersucht, um sicherzustellen, dass Ihre Anwendung unter hohen Lasten effizient und reaktionsschnell bleibt. Wir werden tatsächliche Fälle kombinieren, um eingehende Schlüsseltechnologien wie Indexierung, Abfrageoptimierung, Datenbankdesign und Caching zu erklären. 1. Das Design der Datenbankarchitektur und die optimierte Datenbankarchitektur sind der Eckpfeiler der MySQL -Leistungsoptimierung. Hier sind einige Kernprinzipien: Die Auswahl des richtigen Datentyps und die Auswahl des kleinsten Datentyps, der den Anforderungen entspricht, kann nicht nur Speicherplatz speichern, sondern auch die Datenverarbeitungsgeschwindigkeit verbessern.

Python: Erforschen der primären Anwendungen Python: Erforschen der primären Anwendungen Apr 10, 2025 am 09:41 AM

Python wird in den Bereichen Webentwicklung, Datenwissenschaft, maschinelles Lernen, Automatisierung und Skripten häufig verwendet. 1) In der Webentwicklung vereinfachen Django und Flask Frameworks den Entwicklungsprozess. 2) In den Bereichen Datenwissenschaft und maschinelles Lernen bieten Numpy-, Pandas-, Scikit-Learn- und TensorFlow-Bibliotheken eine starke Unterstützung. 3) In Bezug auf Automatisierung und Skript ist Python für Aufgaben wie automatisiertes Test und Systemmanagement geeignet.

Wie man AWS -Kleber mit Amazon Athena verwendet Wie man AWS -Kleber mit Amazon Athena verwendet Apr 09, 2025 pm 03:09 PM

Als Datenprofi müssen Sie große Datenmengen aus verschiedenen Quellen verarbeiten. Dies kann Herausforderungen für das Datenmanagement und die Analyse darstellen. Glücklicherweise können zwei AWS -Dienste helfen: AWS -Kleber und Amazon Athena.

Kann MySQL mit dem SQL -Server eine Verbindung herstellen? Kann MySQL mit dem SQL -Server eine Verbindung herstellen? Apr 08, 2025 pm 05:54 PM

Nein, MySQL kann keine direkt zu SQL Server herstellen. Sie können jedoch die folgenden Methoden verwenden, um die Dateninteraktion zu implementieren: Verwenden Sie Middleware: Exportieren Sie Daten von MySQL in das Zwischenformat und importieren sie dann über Middleware in SQL Server. Verwenden von Datenbank -Linker: Business -Tools bieten eine freundlichere Oberfläche und erweiterte Funktionen, die im Wesentlichen weiterhin über Middleware implementiert werden.

So starten Sie den Server mit Redis So starten Sie den Server mit Redis Apr 10, 2025 pm 08:12 PM

Zu den Schritten zum Starten eines Redis -Servers gehören: Installieren von Redis gemäß dem Betriebssystem. Starten Sie den Redis-Dienst über Redis-Server (Linux/macOS) oder redis-server.exe (Windows). Verwenden Sie den Befehl redis-cli ping (linux/macOS) oder redis-cli.exe ping (Windows), um den Dienststatus zu überprüfen. Verwenden Sie einen Redis-Client wie Redis-Cli, Python oder Node.js, um auf den Server zuzugreifen.

See all articles