Funkcja filtra Pythona

Funkcja filtra Pythona

Filtr jest wbudowaną funkcją Pythona. Filtruje określoną sekwencję lub iterowalną za pomocą funkcji, która sprawdza każdy element lub element w imiennym, aby być prawdziwym lub fałszem. Mówiąc najprościej, funkcja filtra filtruje iterowalne za pośrednictwem funkcji. Dane funkcje testują każdą pozycję sekwencji lub iterowalną i zwraca true, jeśli element spełniono podane kryteria. W rezultacie funkcja Filter () konstruuje nowy iterator. Najczęściej używane iterowalne są listy, krotki i słowniki. W tym artykule krótko opisano funkcję Filter () za pomocą przykładów.

Składnia funkcji Filter ()

Najpierw omówmy składnię funkcji Filter (). Składnia funkcji Filter () jest następująca:

filet (funkcja, iterabalna lub sekwencja)

Funkcja filtra bierze dwa parametry jako argument, i.mi., funkcja i iteracyjne. Funkcja sprawdza każdy element lub element iterable, niezależnie od tego, czy jest to prawda, czy nie, zgodnie z danymi kryteriami. Drugi argument jest iteracyjny lub sekwencja do filtrowania. Funkcja ocenia każdą pozycję iterowalistej w danych kryteriach. Wreszcie funkcja Filter () zwraca filtrowany iterator.

Zobaczmy przykłady funkcji Filter () i zaimplementuj ją w naszym skrypcie Python. Używamy edytora Spyder3 do tworzenia i uruchamiania skryptów Python.

Przykład 1: Filtruj listę liczb

Utwórzmy listę liczb i odfiltrujmy. W danym przykładzie lista_func () ocenia każdą pozycję listy w danym stanie. Jeśli element listy jest większy niż 5, funkcja zwraca true i dodaje element do filtra.

#Ukształcenie listy numerów
my_list = [1,2,3,4,5,6,10,20,35,8,4,50,60]
#Tworzenie funkcji
def List_func (ListObj):
# Instrukcja warunkowa do sprawdzenia liczby
if (listobj> 5):
zwróć prawdziwie
w przeciwnym razie:
zwróć false
#Używanie funkcji filtra do filtrowania iterowalnego za pośrednictwem List_Func
numery = filtr (List_func, my_list)
#princja nowego iteratora
bo w liczbach:
Drukuj (i)

Wyjście
Wyjście wyświetla filtrowany iterator. Przefiltrowany iterator jest konstruowany przez wszystkie te elementy, które są większe niż 5.

Przykład 2: Filtruj listę znaków

Utwórzmy listę znaków i zastosuj funkcję filtra.

#Ukształcenie listy numerów
my_list = [„a”, „b”, „c”, „l”, „d”, „i”, „k”, „n”, „o”, „u”, „x”]
#Tworzenie funkcji
def List_func (ListObj):
Word_list = [„l”, „i”, „n”, „u”, „x”]
# Warunkowa instrukcja do sprawdzenia znaku
if (listobj w Word_List):
zwróć prawdziwie
w przeciwnym razie:
zwróć false
#Używanie funkcji filtra do filtrowania iterowalnego za pośrednictwem List_Func
słowa = filtr (lista_func, my_list)
#princja nowego iteratora
bo słowami:
Drukuj (i)

Wyjście

Przykłady 3: Filtruj liczbę parzystą

Filtrujmy parzyste liczby z podanej listy liczb za pomocą funkcji filtra.

#Ukształcenie listy numerów
my_List = [1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16]
#Tworzenie funkcji
def List_func (ListObj):
# Warunkowa instrukcja do sprawdzenia równej liczby
if (listobj%2 == 0):
zwróć prawdziwie
w przeciwnym razie:
zwróć false
#Używanie funkcji filtra do filtrowania iterowalnego za pośrednictwem List_Func
Even_numbers = Filter (List_func, my_list)
#princja nowego iteratora
bo w Even_numbers:
Drukuj (i)

Wyjście

Przykłady 4: Filtruj rok skokowy

Filtrujmy lata skokowe z danej listy lat za pomocą funkcji filtra.

#Ukształcenie listy numerów
my_List = [2010,2012,2014,2016,2018,20202222224]
#Tworzenie funkcji
def List_func (ListObj):
# Warunkowe oświadczenie do sprawdzenia roku skokowego
if (listobj%4 == 0):
zwróć prawdziwie
w przeciwnym razie:
zwróć false
#Używanie funkcji filtra do filtrowania iterowalnego za pośrednictwem List_Func
leap_year = filtr (List_func, my_list)
#princja nowego iteratora
bo w Leap_year:
Drukuj (i)

Wyjście

Wyjście wyświetla lata skokowe z danej listy lat.

Przykłady 5: Korzystanie z funkcji Lambda z Filter ()

Funkcja filtra jest najczęściej używana z funkcją Lambda. Przekażmy funkcję Lambda jako argument do funkcji Filter ().

#Ukształcenie listy liczb o liczbach równych
my_List = [2010,2012,2014,2016,2018,20202222224]
#Deklarowanie zmiennej Even_Number za pomocą funkcji Lambda
Even_number = Filter (Lambda Listobj: Listobj%2 == 0, my_list)
Drukuj („Lista liczb parzystych”)
bo w Even_Number:
Drukuj (i)
leap_year = Filter (Lambda Listobj: Listobj%4 == 0, my_list)
Drukuj („Lista lat skokowych”)
dla x w leap_year:
Drukuj (x)

Wyjście

Wniosek

Filter () to wbudowana funkcja Pythona, która służy do filtrowania iteracyjnego na danej funkcji. W tym artykule wyjaśniono funkcję Filter () z przykładami.