Kursinhalt
Fortgeschrittene Python-Techniken
Fortgeschrittene Python-Techniken
Eingebaute Funktionen
Hier sind zwei weitere Beispiele, die die Verwendung von lambda-Funktionen mit den Funktionen filter()
und sorted()
in Python demonstrieren.
Alternativ können Sie eine komplexere benutzerdefinierte Funktion anstelle eines Lambdas an diese höherwertigen Funktionen übergeben.
filter()
Die filter()
-Funktion wird verwendet, um einen Iterator aus Elementen eines Iterables zu erstellen, für die eine Funktion wahr zurückgibt. Hier ist ein Beispiel, das filter() mit einer Lambda-Funktion verwendet, um ungerade Zahlen aus einer Liste herauszufiltern:
numbers = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10] # Using a lambda function to filter out odd numbers even_numbers = filter(lambda x: x % 2 == 0, numbers) # Convert the filter object to a list even_numbers_list = list(even_numbers) print(even_numbers_list)
In diesem Beispiel überprüft die Lambda-Funktion lambda x: x % 2 == 0
, ob eine Zahl gerade ist. Die filter()
-Funktion wendet diese Lambda-Funktion auf jedes Element in der Liste der Zahlen an und gibt einen Iterator der geraden Zahlen zurück.
sorted()
Die Funktion sorted()
gibt eine neue sortierte Liste aus den Elementen eines beliebigen Iterables zurück.
iterable
ist die zu sortierende Sequenz (Liste, Dict, Tupel, etc.);key
ist eine Funktion, die ausgeführt wird, um die Reihenfolge zu bestimmen;reverse
ist ein boolescher Wert. False ist eine aufsteigende Reihenfolge, und True ist absteigend. Der Standardwert ist False.
Hier ist ein Beispiel, das sorted()
mit einer Lambda-Funktion verwendet, um eine Liste von Tupeln basierend auf dem zweiten Element in jedem Tupel zu sortieren:
tuples = [(1, 'banana'), (2, 'apple'), (3, 'orange')] # Using a lambda function to sort by the second element of each tuple sorted_tuples = sorted(tuples, key=lambda x: x[1]) print(sorted_tuples)
In diesem Beispiel gibt die Lambda-Funktion lambda x: x[1]
das zweite Element jedes Tupels zurück. Die Funktion sorted()
sortiert dann die Liste der Tupel basierend auf diesen zweiten Elementen, was zu einer alphabetisch nach den Fruchtnamen sortierten Liste führt.
Swipe to start coding
Betrachten wir eine Liste von Wörterbüchern, die Bücher darstellen, und Sie möchten Bücher herausfiltern, die eine bestimmte Anzahl von Seiten haben.
- Definieren Sie die Liste der Bücher.
books
ist eine Liste von Wörterbüchern. Jedes Wörterbuch stellt ein Buch mit zwei Schlüsseln dar: "title" und "pages". - Erstellen der benutzerdefinierten Funktion
has_many_pages
, die die Argumentebook
undmin_pages
akzeptiert. - Verwenden Sie
filter()
mit der benutzerdefinierten Funktion. - Konvertieren Sie das Filterobjekt in eine Liste, speichern Sie es in der Variablen
filtered_books_list
und drucken Sie es aus.
Lösung
Danke für Ihr Feedback!
Eingebaute Funktionen
Hier sind zwei weitere Beispiele, die die Verwendung von lambda-Funktionen mit den Funktionen filter()
und sorted()
in Python demonstrieren.
Alternativ können Sie eine komplexere benutzerdefinierte Funktion anstelle eines Lambdas an diese höherwertigen Funktionen übergeben.
filter()
Die filter()
-Funktion wird verwendet, um einen Iterator aus Elementen eines Iterables zu erstellen, für die eine Funktion wahr zurückgibt. Hier ist ein Beispiel, das filter() mit einer Lambda-Funktion verwendet, um ungerade Zahlen aus einer Liste herauszufiltern:
numbers = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10] # Using a lambda function to filter out odd numbers even_numbers = filter(lambda x: x % 2 == 0, numbers) # Convert the filter object to a list even_numbers_list = list(even_numbers) print(even_numbers_list)
In diesem Beispiel überprüft die Lambda-Funktion lambda x: x % 2 == 0
, ob eine Zahl gerade ist. Die filter()
-Funktion wendet diese Lambda-Funktion auf jedes Element in der Liste der Zahlen an und gibt einen Iterator der geraden Zahlen zurück.
sorted()
Die Funktion sorted()
gibt eine neue sortierte Liste aus den Elementen eines beliebigen Iterables zurück.
iterable
ist die zu sortierende Sequenz (Liste, Dict, Tupel, etc.);key
ist eine Funktion, die ausgeführt wird, um die Reihenfolge zu bestimmen;reverse
ist ein boolescher Wert. False ist eine aufsteigende Reihenfolge, und True ist absteigend. Der Standardwert ist False.
Hier ist ein Beispiel, das sorted()
mit einer Lambda-Funktion verwendet, um eine Liste von Tupeln basierend auf dem zweiten Element in jedem Tupel zu sortieren:
tuples = [(1, 'banana'), (2, 'apple'), (3, 'orange')] # Using a lambda function to sort by the second element of each tuple sorted_tuples = sorted(tuples, key=lambda x: x[1]) print(sorted_tuples)
In diesem Beispiel gibt die Lambda-Funktion lambda x: x[1]
das zweite Element jedes Tupels zurück. Die Funktion sorted()
sortiert dann die Liste der Tupel basierend auf diesen zweiten Elementen, was zu einer alphabetisch nach den Fruchtnamen sortierten Liste führt.
Swipe to start coding
Betrachten wir eine Liste von Wörterbüchern, die Bücher darstellen, und Sie möchten Bücher herausfiltern, die eine bestimmte Anzahl von Seiten haben.
- Definieren Sie die Liste der Bücher.
books
ist eine Liste von Wörterbüchern. Jedes Wörterbuch stellt ein Buch mit zwei Schlüsseln dar: "title" und "pages". - Erstellen der benutzerdefinierten Funktion
has_many_pages
, die die Argumentebook
undmin_pages
akzeptiert. - Verwenden Sie
filter()
mit der benutzerdefinierten Funktion. - Konvertieren Sie das Filterobjekt in eine Liste, speichern Sie es in der Variablen
filtered_books_list
und drucken Sie es aus.
Lösung
Danke für Ihr Feedback!