PythonFunkcje wbudowane
filter()
Zwraca iterator elementów, dla których funkcja zwraca prawdę.
- Zwraca
- Iterator z elementami, które przeszły test.
Przykład
#Python
scores = [45, 82, 67, 91, 30]
passed = list(filter(lambda s: s >= 60, scores))
print(passed)
values = ["Ania", "", None, "Kuba", 0]
print(list(filter(None, values)))Wynikzapisany wynik, możesz go sprawdzić
[82, 67, 91]
['Ania', 'Kuba']
Definicja i zastosowanie
#Funkcja filter(funkcja, kolekcja) przepuszcza tylko te elementy, dla których funkcja zwróci wartość prawdziwą. Wynik to iterator, który zwykle zamienia się na listę.
Jeśli zamiast funkcji podasz None, filter usunie wszystkie wartości fałszywe: zera, puste napisy, None i puste kolekcje.
Tak jak w przypadku map, wyrażenie listowe z if bywa czytelniejsze: [x for x in items if x > 0].
Składnia
#Składnia
filter(funkcja, iterable)Parametry
#funkcja
callable lub None
Funkcja testująca alboNone.iterable
kolekcja
Elementy do przefiltrowania.
Dobre praktyki
#filter(None, items)to szybki sposób na usunięcie pustych wartości.- Przy złożonych warunkach wyrażenie listowe jest czytelniejsze niż
filterz lambdą.
Powiązane hasła
#- map()Wywołuje funkcję dla każdego elementu i zwraca iterator wyników.
- Wyrażenia listoweZwięzły sposób tworzenia list, zbiorów i słowników z innych kolekcji.
- any()Sprawdza, czy choć jeden element kolekcji jest prawdziwy.
- lambdaKrótka funkcja anonimowa zapisana w jednym wyrażeniu.
- next()Pobiera następny element z iteratora. Po jego wyczerpaniu zwraca wartość domyślną albo zgłasza StopIteration.
Widzisz błąd albo brakuje przykładu? Napisz do nas.