Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Lernen Eingebaute Funktionen | Funktion als Argument
Fortgeschrittene Python-Techniken
course content

Kursinhalt

Fortgeschrittene Python-Techniken

Fortgeschrittene Python-Techniken

1. Packen und Entpacken
2. Argumente in Funktionen
3. Funktion als Argument
4. Variablenbereich
5. Decorators

book
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:

12345678
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)
copy

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:

123456
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)
copy

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.

Aufgabe

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.

  1. 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".
  2. Erstellen der benutzerdefinierten Funktion has_many_pages, die die Argumente book und min_pages akzeptiert.
  3. Verwenden Sie filter() mit der benutzerdefinierten Funktion.
  4. Konvertieren Sie das Filterobjekt in eine Liste, speichern Sie es in der Variablen filtered_books_list und drucken Sie es aus.

Lösung

Switch to desktopWechseln Sie zum Desktop, um in der realen Welt zu übenFahren Sie dort fort, wo Sie sind, indem Sie eine der folgenden Optionen verwenden
War alles klar?

Wie können wir es verbessern?

Danke für Ihr Feedback!

Abschnitt 3. Kapitel 3
toggle bottom row

book
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:

12345678
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)
copy

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:

123456
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)
copy

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.

Aufgabe

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.

  1. 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".
  2. Erstellen der benutzerdefinierten Funktion has_many_pages, die die Argumente book und min_pages akzeptiert.
  3. Verwenden Sie filter() mit der benutzerdefinierten Funktion.
  4. Konvertieren Sie das Filterobjekt in eine Liste, speichern Sie es in der Variablen filtered_books_list und drucken Sie es aus.

Lösung

Switch to desktopWechseln Sie zum Desktop, um in der realen Welt zu übenFahren Sie dort fort, wo Sie sind, indem Sie eine der folgenden Optionen verwenden
War alles klar?

Wie können wir es verbessern?

Danke für Ihr Feedback!

Abschnitt 3. Kapitel 3
Switch to desktopWechseln Sie zum Desktop, um in der realen Welt zu übenFahren Sie dort fort, wo Sie sind, indem Sie eine der folgenden Optionen verwenden
We're sorry to hear that something went wrong. What happened?
some-alt