Funkcja filter

Funkcja filter filtruje elementy obiektu iterowalnego, pozostawiając tylko pasujące do określonego warunku. W pierwszym parametrze określana jest funkcja zwrotna, według której będzie filtrowany obiekt. W drugim parametrze - sam obiekt do filtracji.

W obiekcie pozostają tylko te elementy, dla których funkcja zwrotna zwróci True.

Wynikiem działania funkcji jest specjalny obiekt iterowalny. Można go przekształcić na listę, korzystając z funkcji list.

Składnia

pythonfilter(funkcja, obiekt do filtracji)

Przykład

Odfiltrujmy z oryginalnej listy elementy parzyste, tworząc nową listę składającą się tylko z nich:

pythonlst = [2, 3, 6, 8, 15]
res = filter(lambda x: x % 2 == 0, lst)
print(list(res))

Wynik wykonania kodu:

python[2, 6, 8]

Przykład

A teraz odfiltrujmy tylko elementy nieparzyste:

pythonlst = [2, 3, 6, 8, 15]
res = filter(lambda x: x % 2 != 0, lst)
print(list(res))

Wynik wykonania kodu:

python[3, 15]

Zobacz też

  • metoda sort,
    która sortuje elementy listy
  • funkcja sorted,
    która zwraca posortowaną listę z obiektów iterowalnych
  • funkcja map,
    która przetwarza obiekty iterowalne