Συνάρτηση filter
Η συνάρτηση filter φιλτράρει τα στοιχεία
ενός επαναληπτού αντικειμένου, αφήνοντας μόνο
αυτά που πληρούν μια συγκεκριμένη συνθήκη. Στην
πρώτη παράμετρο καθορίζεται η συνάρτηση callback,
βάσει της οποίας θα φιλτραριστεί το αντικείμενο. Στη
δεύτερη παράμετρο - το ίδιο το αντικείμενο για φιλτράρισμα.
Στο αντικείμενο παραμένουν μόνο εκείνα τα στοιχεία για τα
οποία το callback επιστρέφει True.
Ως αποτέλεσμα η συνάρτηση επιστρέφει ένα
ειδικό επαναληπτό αντικείμενο. Μπορεί να
μετατραπεί σε λίστα, χρησιμοποιώντας την
συνάρτηση list.
Σύνταξη
filter(συνάρτηση, αντικείμενο για φιλτράρισμα)
Παράδειγμα
Ας φιλτράρουμε την αρχική λίστα για να πάρουμε μια λίστα που αποτελείται μόνο από ζυγά στοιχεία:
lst = [2, 3, 6, 8, 15]
res = filter(lambda x: x % 2 == 0, lst)
print(list(res))
Αποτέλεσμα εκτέλεσης κώδικα:
[2, 6, 8]
Παράδειγμα
Τώρα ας φιλτράρουμε μόνο τα μονά στοιχεία:
lst = [2, 3, 6, 8, 15]
res = filter(lambda x: x % 2 != 0, lst)
print(list(res))
Αποτέλεσμα εκτέλεσης κώδικα:
[3, 15]