Krajta

Funkce Pythonského filtru

Funkce Pythonského filtru

Filtr je vestavěná funkce Pythonu. Filtruje zadanou sekvenci nebo iterovatelnou pomocí funkce, která kontroluje každou položku nebo prvek v iterovatelné, aby byla pravdivá nebo nepravdivá. Zjednodušeně řečeno, funkce filtru filtruje iterovatelnou funkci. Daná funkce testuje každou položku sekvence nebo iterovatelnou a vrací hodnotu true, pokud položka splňuje zadaná kritéria. Výsledkem je, že funkce filter () vytvoří nový iterátor. Nejčastěji používané iterovatelné jsou seznamy, n-tice a slovníky. Tento článek stručně popisuje funkce filter () pomocí příkladů.

Syntaxe funkce filter ()

Pojďme nejprve probrat syntaxi funkce filter (). Syntaxe funkce filter () je následující:

filet (funkce, iterovatelné nebo sekvence)

Funkce filtru bere jako argument dva parametry, tj.E., funkce a iterovatelná. Funkce kontroluje každý prvek nebo položku iterovatelné, ať už je to pravda nebo ne, podle daných kritérií. Druhý argument je iterovatelný nebo má být filtrována sekvence. Funkce vyhodnotí každou položku iterace podle daných kritérií. Nakonec funkce filter () vrátí filtrovaný iterátor.

Podívejme se na příklady funkce filter () a implementujme je do našeho skriptu Pythonu. K vytváření a spouštění skriptů Pythonu používáme editor spyder3.

Příklad 1: Filtrování seznamu čísel

Vytvořme seznam čísel a vyfiltrujme ho. V uvedeném příkladu list_func () vyhodnotí každou položku seznamu za dané podmínky. Pokud je položka seznamu větší než 5, vrátí funkce true a přidá položku do filtru.

#vytvoření seznamu čísel
my_list = [1,2,3,4,5,6,10,20,35,8,4,50,60]
# vytvoření funkce
def list_func (listObj):
# podmíněné prohlášení ke kontrole čísla
if (listObj> 5):
vrátit True
jiný:
vrátit False
#použití funkce filtru k filtrování iterace pomocí list_func
numbers = filter (list_func, my_list)
# tisk nového iterátoru
pro i v číslech:
tisk (i)

Výstup
Výstup zobrazí filtrovaný iterátor. Filtrovaný iterátor je vytvořen všemi těmi položkami, které jsou větší než 5.

Příklad 2: Filtrování seznamu znaků

Vytvořme seznam znaků a aplikujme funkci filtru.

#vytvoření seznamu čísel
my_list = ['a', 'b', 'c', 'l', 'd', 'i', 'k', 'n', 'o', 'u', 'x']
# vytvoření funkce
def list_func (listObj):
word_list = ['l', 'i', 'n', 'u', 'x']
# podmíněné prohlášení ke kontrole znaku
if (listObj in word_list):
vrátit True
jiný:
vrátit False
#použití funkce filtru k filtrování iterace pomocí list_func
slova = filtr (list_func, my_list)
# tisk nového iterátoru
pro i slovy:
tisk (i)

Výstup

Příklady 3: Filtrování sudého čísla

Pojďme filtrovat sudá čísla z daného seznamu čísel pomocí funkce filtru.

#vytvoření seznamu čísel
my_list = [1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16]
# vytvoření funkce
def list_func (listObj):
# podmíněné prohlášení ke kontrole sudého čísla
if (listObj% 2 == 0):
vrátit True
jiný:
vrátit False
#použití funkce filtru k filtrování iterace pomocí list_func
even_numbers = filter (list_func, my_list)
# tisk nového iterátoru
pro i v sudých číslech:
tisk (i)

Výstup

Příklady 4: Filtrování přestupného roku

Pojďme filtrovat přestupné roky z daného seznamu let pomocí funkce filtru.

#vytvoření seznamu čísel
my_list = [2010,2012,2014,2016,2018,2020,2022,2024]
# vytvoření funkce
def list_func (listObj):
# podmíněné prohlášení ke kontrole přestupného roku
if (listObj% 4 == 0):
vrátit True
jiný:
vrátit False
#použití funkce filtru k filtrování iterace pomocí list_func
leap_year = filter (list_func, my_list)
# tisk nového iterátoru
pro i v leap_year:
tisk (i)

Výstup

Výstup zobrazuje přestupné roky z daného seznamu let.

Příklady 5: použití funkce lambda s filter ()

Funkce filtru se většinou používá s funkcí lambda. Pojďme předat funkci lambda jako argument funkci filter ().

#vytvoření seznamu čísel
my_list = [2010,2012,2014,2016,2018,2020,2022,2024]
# deklarování proměnné sudé_číslo
Proměnná #even_number obsahuje sudá čísla
# pomocí funkce lambda
even_number = filter (lambda listObj: listObj% 2 == 0, my_list)
tisk ("Seznam sudých čísel")
pro i v even_number:
tisk (i)
leap_year = filter (lambda listObj: listObj% 4 == 0, my_list)
tisk ("Seznam přestupných let")
pro x v leap_year:
tisk (x)

Výstup

Závěr

Filter () je vestavěná funkce Pythonu, která se používá k filtrování iterovatelných pro danou funkci. Tento článek vysvětluje funkci filter () s příklady.

Hry HD remasterované hry pro Linux, které nikdy dříve neměly vydání Linuxu
HD remasterované hry pro Linux, které nikdy dříve neměly vydání Linuxu
Mnoho vývojářů a vydavatelů her přichází s HD remasterem starých her, aby prodloužili životnost franšízy, prosím fanoušky, kteří požadují kompatibilit...
Hry Jak používat AutoKey k automatizaci linuxových her
Jak používat AutoKey k automatizaci linuxových her
AutoKey je nástroj pro automatizaci stolních počítačů pro systémy Linux a X11, programovaný v programech Python 3, GTK a Qt. Pomocí jeho funkcí skript...
Hry Jak zobrazit počítadlo FPS v linuxových hrách
Jak zobrazit počítadlo FPS v linuxových hrách
Hraní na Linuxu získalo velký tlak, když společnost Valve v roce 2012 oznámila podporu systému Linux pro klienta Steam a jejich hry. Od té doby se mno...