Junior
Τι είναι μια έκφραση lambda στην Python;
sobes.tech AI
Απάντηση από AI
Η έκφραση lambda στην Python είναι μια ανώνυμη συνάρτηση που ορίζεται με τη λέξη-κλειδί lambda. Έχει απλή σύνταξη: lambda arguments: expression.
Κύχα χαρακτηριστικά:
- Ανώνυμη: Δεν έχει όνομα.
- Σε μία γραμμή: Πρέπει να βρίσκεται σε μία γραμμή κώδικα.
- Μόνο μια έκφραση: Μπορεί να περιέχει μόνο μια έκφραση, του αποτελέσματος της οποίας επιστρέφεται.
- Μπορεί να δέχεται οποιονδήποτε αριθμό ορισμάτων: Αλλά μόνο μια έκφραση.
Παραδείγματα χρήσης:
# Απλή έκφραση lambda για διπλασιασμό ενός αριθμού
double = lambda x: x * 2
# Χρήση:
# print(double(5)) # Θα εμφανίσει 10
# Lambda έκφραση με πολλά ορίσματα
add = lambda a, b: a + b
# Χρήση:
# print(add(3, 7)) # Θα εμφανίσει 10
# Χρήση lambda με συναρτήσεις ανώτερου επιπέδου
# Για παράδειγμα, filter()
numbers = [1, 2, 3, 4, 5, 6]
even_numbers = list(filter(lambda x: x % 2 == 0, numbers))
# print(even_numbers) # Θα εμφανίσει [2, 4, 6]
# Χρήση lambda με map()
squared_numbers = list(map(lambda x: x**2, numbers))
# print(squared_numbers) # Θα εμφανίσει [1, 4, 9, 16, 25, 36]
# Χρήση lambda ως όρισμα για το κλειδί σε sorted()
data = [{'name': 'Alice', 'age': 30}, {'name': 'Bob', 'age': 25}]
sorted_data_by_age = sorted(data, key=lambda item: item['age'])
# print(sorted_data_by_age) # Θα εμφανίσει τη λίστα ταξινομημένη κατά ηλικία
Οι εκφράσεις lambda είναι χρήσιμες για μικρές, μονοχρησιμοποιούμενες συναρτήσεις, συχνά χρησιμοποιούνται σε συνδυασμό με συναρτήσεις ανώτερου επιπέδου (map, filter, sorted). Ωστόσο, για πιο πολύπλοκες εργασίες ή συναρτήσεις που απαιτούν τεκμηρίωση (docstrings), συνιστάται η χρήση κανονικών συναρτήσεων που ορίζονται με def.