Praktische Anwendungsfälle und Beispiele
Sortieren einer Liste von Dictionaries
Angenommen, Sie haben eine Liste von Dictionaries, die Mitarbeiterdaten repräsentieren, und Sie möchten die Liste nach dem Alter der Mitarbeiter sortieren.
employees = [
{"name": "Alice", "age": 30, "salary": 50000},
{"name": "Bob", "age": 25, "salary": 45000},
{"name": "Charlie", "age": 35, "salary": 55000},
{"name": "David", "age": 28, "salary": 48000}
]
sorted_employees = sorted(employees, key=lambda x: x["age"])
print(sorted_employees)
Ausgabe:
[{'name': 'Bob', 'age': 25,'salary': 45000},
{'name': 'David', 'age': 28,'salary': 48000},
{'name': 'Alice', 'age': 30,'salary': 50000},
{'name': 'Charlie', 'age': 35,'salary': 55000}]
Filtern einer Liste von Strings nach Länge
Sie haben eine Liste von Strings und möchten die Strings filtern, die länger als eine bestimmte Länge sind.
words = ["apple", "banana", "cherry", "date", "elderberry", "fig"]
short_words = list(filter(lambda x: len(x) <= 5, words))
print(short_words)
Ausgabe:
['apple', 'banana', 'date', 'fig']
Sie haben eine Liste von Zahlen und möchten eine neue Liste erstellen, in der jede Zahl mit 2 multipliziert ist.
numbers = [1, 2, 3, 4, 5]
doubled_numbers = list(map(lambda x: x * 2, numbers))
print(doubled_numbers)
Ausgabe:
[2, 4, 6, 8, 10]
Kombinieren von Lambda mit Listenverständnissen
Sie können Lambda-Funktionen in Kombination mit Listenverständnissen verwenden, um komplexere Transformationen zu erstellen.
numbers = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
doubled_even_numbers = [x * 2 for x in filter(lambda x: x % 2 == 0, numbers)]
print(doubled_even_numbers)
Ausgabe:
[4, 8, 12, 16, 20]
Diese Beispiele demonstrieren die Vielseitigkeit von Lambda-Funktionen bei der Arbeit mit Listen und wie sie die häufigen Listenoperationen vereinfachen können. Indem Sie Lambda-Funktionen verstehen und anwenden, können Sie kürzeres und expressiveres Python-Code schreiben.