Funkcja filter do filtrowania obiektów w Pythonie
Przejdźmy teraz do nauki funkcji filter.
Pozwala ona filtrować elementy list
i innych obiektów iterowalnych według pewnego
warunku. Jako pierwszy parametr przyjmuje
funkcję, która określa warunek do sprawdzenia.
W drugim parametrze określa się listę,
której elementy będą filtrowane.
Jeśli funkcja zwraca True, to
element pozostaje w nowej liście. Jeśli
zwracane jest False, to element nie
trafia do listy.
Załóżmy, że mamy listę:
lst = [1, 2, 3, 4, 5, 6]
Pozostawmy w niej tylko liczby parzyste.
Aby to zrobić, za pomocą funkcji lambda określimy,
że przekazana do jej parametru liczba
ma być podzielna przez 2 bez reszty:
res = filter(lambda num: num % 2 == 0, lst)
print(list(res))
Po wykonaniu kodu zwrócona zostanie nowa lista:
[2, 4, 6]
Dana jest lista z liczbami:
lst = [1, 2, 3, 4, 5]
Zapisz do nowej listy tylko nieparzyste liczby z tej listy.
Dana jest lista z ciągami znaków:
lst = ['abcd', 'ab', 'c', 'de', 'bc']
Zapisz do nowej listy tylko ciągi znaków,
których długość wynosi 2.