Lambda Functions (Ανώνυμες Συναρτήσεις) Python

Python Οδηγός - Μάθημα 16: Lambda Functions (Ανώνυμες Συναρτήσεις)

Οι Lambda Functions είναι συναρτήσεις που δεν έχουν όνομα (ανώνυμες) και ορίζονται σε μία μόνο γραμμή. Είναι χρήσιμες για μικρές, απλές συναρτήσεις που μπορεί να χρησιμοποιήσεις μια ή δύο φορές στον κώδικά σου. Οι Lambda Functions μπορούν να εκτελούν οποιαδήποτε πράξη που θα έκανε μια κανονική συνάρτηση, αλλά με πιο συμπυκνωμένο τρόπο.

Γενική Σύνταξη:

lambda όρισμα1, όρισμα2: έκφραση
  • όρισμα1, όρισμα2: Τα δεδομένα που θα περάσεις στη συνάρτηση.
  • έκφραση: Ο υπολογισμός ή η πράξη που θα επιστραφεί από τη συνάρτηση.

Παράδειγμα 1: Βασική Χρήση της Lambda

Ας δημιουργήσουμε μια απλή Lambda συνάρτηση που προσθέτει δύο αριθμούς.

add = lambda x, y: x + y print(add(3, 5))

Αποτέλεσμα:

8

Η συνάρτηση lambda x, y: x + y επιστρέφει το άθροισμα των x και y.

Παράδειγμα 2: Χρήση της Lambda με την map()

Η map() είναι μια συνάρτηση που εφαρμόζει μια συνάρτηση σε κάθε στοιχείο μιας ακολουθίας. Εδώ, θα χρησιμοποιήσουμε μια Lambda για να διπλασιάσουμε κάθε αριθμό σε μια λίστα.

numbers = [1, 2, 3, 4, 5] doubled = list(map(lambda x: x * 2, numbers)) print(doubled)

Αποτέλεσμα:

[2, 4, 6, 8, 10]

Η Lambda lambda x: x * 2 εφαρμόζεται σε κάθε στοιχείο της λίστας numbers.

Παράδειγμα 3: Χρήση της Lambda με την filter()

Η συνάρτηση 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 lambda x: x % 2 == 0 ελέγχει αν το κάθε στοιχείο είναι άρτιο.

Παράδειγμα 4: Χρήση της Lambda με την sorted()

Μπορείς επίσης να χρησιμοποιήσεις Lambda για να ταξινομήσεις μια λίστα με βάση κάποια κριτήρια. Ας υποθέσουμε ότι έχουμε μια λίστα με λέξεις και θέλουμε να τις ταξινομήσουμε με βάση το μήκος τους.

words = ["banana", "apple", "cherry", "kiwi"] sorted_words = sorted(words, key=lambda x: len(x)) print(sorted_words)

Αποτέλεσμα:

['kiwi', 'apple', 'banana', 'cherry']

Η Lambda lambda x: len(x) χρησιμοποιείται για να ταξινομήσει τη λίστα με βάση το μήκος των λέξεων.


Οφέλη από τη χρήση Lambda Functions:

  1. Συντομία: Οι Lambda Functions επιτρέπουν να ορίσεις σύντομες συναρτήσεις με λιγότερο κώδικα.
  2. Καθαρότητα: Αν η συνάρτηση είναι απλή, μπορεί να είναι πιο ευανάγνωστη χωρίς να χρειάζεται να ορίσεις μια πλήρη συνάρτηση.
  3. Χρησιμότητα σε Συνδυασμό με Άλλες Συναρτήσεις: Οι Lambda Functions είναι εξαιρετικά χρήσιμες όταν χρησιμοποιούνται με συναρτήσεις όπως map(), filter() και sorted().

Είναι χρήσιμες όταν θέλεις να δημιουργήσεις απλές, μια φορά χρησιμοποιούμενες συναρτήσεις, χωρίς να καταναλώσεις πολύ χώρο στον κώδικα σου!

Σχόλια

Δημοφιλείς αναρτήσεις από αυτό το ιστολόγιο

Αυτόματο Φως Νύχτας

🚀 Διαγωνισμός Ρομποτικής & Αυτοματισμού! 🤖

🚗🤖 Φτιάξε το Δικό σου Μίνι Ρομποτικό Αυτοκίνητο με Arduino!