Pyton

Funkcja filtrowania Pythona

Funkcja filtrowania Pythona

Filtr jest wbudowaną funkcją Pythona. Filtruje określoną sekwencję lub element iteracyjny za pomocą funkcji, która sprawdza każdy element lub element w iterable jako prawdziwy lub fałszywy. Mówiąc prościej, funkcja filtra filtruje iterowalne przez funkcję. Dana funkcja testuje każdy element sekwencji lub iterowalny i zwraca prawdę, jeśli element spełnia 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 opisujemy funkcję filter() za pomocą przykładów.

Składnia funkcji filter()

Omówmy najpierw składnię funkcji filter(). Składnia funkcji filter() jest następująca:

filet (funkcja, iteracja lub sekwencja)

Funkcja filtra przyjmuje jako argument dwa parametry, i.mi., funkcja i iterowalny. Funkcja sprawdza każdy element lub element iterowalności, czy jest prawdziwy, czy nie, według podanych kryteriów. Drugi argument to iterowalność lub sekwencja do filtrowania. Funkcja ocenia każdy element iterowalności według podanych kryteriów. Na koniec funkcja filter() zwraca filtrowany iterator.

Zobaczmy przykłady funkcji filter() i zaimplementujmy ją w naszym skrypcie Pythona. Używamy edytora spyder3 do tworzenia i uruchamiania skryptów Pythona.

Przykład 1: Filtruj listę liczb

Stwórzmy listę liczb i przefiltrujmy ją. W podanym przykładzie funkcja list_func() ocenia każdy element listy w określonym warunku. Jeśli element listy jest większy niż 5, funkcja zwraca prawdę i dodaje element do filtra.

#tworzenie listy numerów
moja_lista = [1,2,3,4,5,6,10,20,35,8,4,50,60]
#tworzenie funkcji
def list_func(listObj):
# oświadczenie warunkowe do sprawdzenia numeru
if(listObj>5):
zwróć Prawda
jeszcze:
powrót Fałsz
#używanie funkcji filtrowania do filtrowania iterowalnego przez list_func
liczby = filtr(funkcja_listy,moja_lista)
#drukowanie nowego iteratora
dla i w liczbach:
drukuj(i)

Wynik
Dane wyjściowe wyświetlają filtrowany iterator. Filtrowany iterator składa się ze wszystkich elementów, które są większe niż 5.

Przykład 2: Filtruj listę znaków

Stwórzmy listę znaków i zastosujmy funkcję filtrowania.

#tworzenie 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']
# instrukcja warunkowa do sprawdzenia znaku
if(listObj w word_list):
zwróć Prawda
jeszcze:
powrót Fałsz
#używanie funkcji filtrowania do filtrowania iterowalnego przez list_func
słowa = filtr(funkcja_listy,moja_lista)
#drukowanie nowego iteratora
dla mnie w słowach:
drukuj(i)

Wynik

Przykłady 3: Filtruj liczbę parzystą

Odfiltrujmy parzyste liczby z podanej listy liczb za pomocą funkcji filtrowania.

#tworzenie listy numerów
moja_lista = [1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16]
#tworzenie funkcji
def list_func(listObj):
# instrukcja warunkowa do sprawdzenia liczby parzystej
if(listObj%2==0):
zwróć Prawda
jeszcze:
powrót Fałsz
#używanie funkcji filtrowania do filtrowania iterowalnego przez list_func
liczby_parzyste= filtr(funkcja_listy,moja_lista)
#drukowanie nowego iteratora
dla mnie w liczbach parzystych:
drukuj(i)

Wynik

Przykłady 4: Filtruj rok przestępny

Odfiltrujmy lata przestępne z podanej listy lat za pomocą funkcji filtrowania.

#tworzenie listy numerów
moja_lista = [2010,2012,2014,2016,2018,2020,2022,2024]
#tworzenie funkcji
def list_func(listObj):
# oświadczenie warunkowe do sprawdzenia roku przestępnego
if(listObj%4==0):
zwróć Prawda
jeszcze:
powrót Fałsz
#używanie funkcji filtrowania do filtrowania iterowalnego przez list_func
rok_przestępny= filtr(funkcja_listy,moja_lista)
#drukowanie nowego iteratora
dla mnie w roku przestępnym:
drukuj(i)

Wynik

Wyjście wyświetla lata przestępne z podanej listy lat list.

Przykłady 5: użycie funkcji lambda z filter()

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

#tworzenie listy numerów
moja_lista = [2010,2012,2014,2016,2018,2020,2022,2024]
#deklarowanie zmiennej parzystej
#even_number zmienna zawiera liczby parzyste
#używanie funkcji lambda
numer_parzysty = filtr(lambda listObj:listObj%2==0,moja_lista)
print("Lista liczb parzystych")
dla mnie w liczbie parzystej:
drukuj(i)
rok_przestępny = filtr(lambda listObj:listObj%4==0,moja_lista)
print("Lista lat przestępnych")
dla x w roku przestępnym:
drukuj(x)

Wynik

Wniosek

filter() jest wbudowaną funkcją Pythona, która służy do filtrowania iterowalności na danej funkcji. W tym artykule wyjaśniono funkcję filter() na przykładach.

Gry Najlepsze emulatory konsoli do gier dla systemu Linux
Najlepsze emulatory konsoli do gier dla systemu Linux
W tym artykule wymienimy popularne oprogramowanie do emulacji konsoli do gier dostępne dla systemu Linux. Emulacja to warstwa kompatybilności oprogram...
Gry Najlepsze dystrybucje Linuksa do gier w 2021 r
Najlepsze dystrybucje Linuksa do gier w 2021 r
System operacyjny Linux przeszedł długą drogę od pierwotnego, prostego, serwerowego wyglądu. Ten system operacyjny znacznie się poprawił w ostatnich l...
Gry Jak przechwytywać i przesyłać strumieniowo sesję gry w systemie Linux
Jak przechwytywać i przesyłać strumieniowo sesję gry w systemie Linux
W przeszłości granie w gry było uważane tylko za hobby, ale z czasem branża gier odnotowała ogromny wzrost pod względem technologii i liczby graczy. P...