Python-da obyektlərin filtrlənməsi üçün filter funksiyası
Gəlin indi filter funksiyasını öyrənək.
O, siyahıların və digər iterasiya olunan obyektlərin
elementlərini hansısa şərtə görə filtrləməyə imkan verir.
İlk parametrdə yoxlama şərtini təyin edən funksiyanı
qəbul edir. İkinci parametrdə elementləri filtirlənəcək
siyahını göstərirlər. Əgər funksiya True qaytarırsa,
onda element yeni siyahıda qalır. Əgər
False qaytarılırsa, onda element siyahıya
daxil olmur.
Tutaq ki, bizim bir siyahımız var:
lst = [1, 2, 3, 4, 5, 6]
Gəlin onda yalnız cüt ədədləri saxlayaq.
Bunun üçün lambda funksiyası vasitəsilə onun parametrinə
ötürülən ədədin 2-ə qalıqsız bölünməsini təyin edək:
res = filter(lambda num: num % 2 == 0, lst)
print(list(res))
Kodu icra etdikdən sonra yeni siyahı qaytarılacaq:
[2, 4, 6]
Ədədlərdən ibarət siyahı verilmişdir:
lst = [1, 2, 3, 4, 5]
Yeni siyahıya yalnız bu siyahıdan olan tək ədədləri yazın.
Sətirlərdən ibarət siyahı verilmişdir:
lst = ['abcd', 'ab', 'c', 'de', 'bc']
Yeni siyahıya yalnız uzunluğu 2-ə bərabər olan
sətirləri yazın.