„Python“

„Python“ filtro funkcija

„Python“ filtro funkcija

Filtras yra įmontuota „Python“ funkcija. Jis filtruoja nurodytą seką arba kartojamą funkciją, patikrinančią, ar kiekvienas iteruojamo elemento ar elemento teisingumas ar klaidingumas. Paprasčiau tariant, filtro funkcija filtruoja kartojamą funkciją per funkciją. Pateikta funkcija patikrina kiekvieną sekos elementą arba iteruojamą elementą ir grąžina teisingą, jei elementas atitiko nurodytus kriterijus. Dėl to funkcija filter () sukuria naują iteratorių. Dažniausiai naudojami kartojami sąrašai, rinkiniai ir žodynai. Šiame straipsnyje pavyzdžių pagalba trumpai aprašoma filtro () funkcija.

Filtro () funkcijos sintaksė

Pirmiausia aptarkime filtro () funkcijos sintaksę. Funkcijos „filter ()“ sintaksė yra tokia:

filė (funkcija, iteruojama arba seka)

Filtravimo funkcija kaip argumentą imasi dviejų parametrų, t.e., funkcija ir kartojamas. Funkcija pagal nurodytus kriterijus tikrina kiekvieną iteruojamo elemento elementą ar elementą, ar jis teisingas, ar ne. Antrasis argumentas yra kartojamas arba filtruojama seka. Funkcija įvertina kiekvieną iteruojamo elementą pagal pateiktus kriterijus. Galiausiai funkcija filter () grąžina filtruotą iteratorių.

Pažiūrėkime funkcijos filter () pavyzdžius ir įdiekime tai savo „Python“ scenarijuje. „Python“ scenarijams kurti ir paleisti naudojame „spyder3“ redaktorių.

1 pavyzdys: filtruokite skaičių sąrašą

Sukurkime skaičių sąrašą ir jį filtruokime. Pateiktame pavyzdyje „list_func“ () įvertina kiekvieną sąrašo elementą pagal tam tikrą sąlygą. Jei sąrašo elementas yra didesnis nei 5, funkcija grąžina true ir prideda elementą prie filtro.

#sudaryti skaičių sąrašą
my_list = [1,2,3,4,5,6,10,20,35,8,4,50,60]
# funkcijos sukūrimas
def list_func (listObj):
# sąlyginis teiginys numeriui patikrinti
jei (listObj> 5):
grįžti Tiesa
Kitas:
grąžinti False
#naudojant filtro funkciją, norint filtruoti kartojamą failą per list_func
skaičiai = filtras (list_func, my_list)
#spausdinkite naują iteratorių
i skaičiais:
spausdinti (i)

Rezultatas
Išvestyje rodomas filtruotas iteratorius. Filtruotą iteratorių sudaro visi elementai, kurie yra didesni nei 5.

2 pavyzdys: filtruokite simbolių sąrašą

Sukurkime simbolių sąrašą ir pritaikykime filtro funkciją.

#sudaryti skaičių sąrašą
my_list = ['a', 'b', 'c', 'l', 'd', 'i', 'k', 'n', 'o', 'u', 'x']
# funkcijos sukūrimas
def list_func (listObj):
word_list = ['l', 'i', 'n', 'u', 'x']
# sąlyginis sakinys, skirtas patikrinti simbolį
jei (listObj į word_list):
grįžti Tiesa
Kitas:
grąžinti False
#naudojant filtro funkciją, norint filtruoti kartojamą failą per list_func
žodžiai = filtras (list_func, my_list)
#spausdinkite naują iteratorių
už i žodžiais:
spausdinti (i)

Rezultatas

3 pavyzdžiai: filtruokite lyginį skaičių

Filtruokime lyginius skaičius iš pateikto skaičių sąrašo naudodami filtro funkciją.

#sudaryti skaičių sąrašą
my_list = [1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16]
# funkcijos sukūrimas
def list_func (listObj):
# sąlyginis teiginys lyginiam skaičiui patikrinti
jei (listObj% 2 == 0):
grįžti Tiesa
Kitas:
grąžinti False
#naudojant filtro funkciją, norint filtruoti kartojamą failą per list_func
even_numbers = filter (list_func, my_list)
#spausdinkite naują iteratorių
i lyginiais skaičiais:
spausdinti (i)

Rezultatas

4 pavyzdžiai: filtruokite kelerius metus

Filtruokime keliamus metus iš pateikto metų sąrašo naudodami filtro funkciją.

#sudaryti skaičių sąrašą
my_list = [2010,2012,2014,2016,2018,2020,2022,2024]
# funkcijos sukūrimas
def list_func (listObj):
# sąlyginis pareiškimas keliamajam metui patikrinti
jei (listObj% 4 == 0):
grįžti Tiesa
Kitas:
grąžinti False
#naudojant filtro funkciją, norint filtruoti kartojamą failą per list_func
leap_year = filter (list_func, my_list)
#spausdinkite naują iteratorių
už „i“ keliamaisiais metais:
spausdinti (i)

Rezultatas

Rezultate rodomi keliamieji metai iš pateikto metų sąrašo.

5 pavyzdžiai: naudojant lambda funkciją su filtru ()

Filtro funkcija dažniausiai naudojama su lambda funkcija. Perduokime lambda funkciją kaip argumentą filtruoti () funkciją.

#sudaryti skaičių sąrašą
my_list = [2010,2012,2014,2016,2018,2020,2022,2024]
#deklaruoti kintamąjį „even_number“
Kintamajame #even_number yra lyginiai skaičiai
#naudojant lambda funkciją
even_number = filter (lambda listObj: listObj% 2 == 0, my_list)
spausdinti („Lyginių skaičių sąrašas“)
i lyginiu skaičiumi:
spausdinti (i)
leap_year = filter (lambda listObj: listObj% 4 == 0, my_list)
spausdinti („Keliamųjų metų sąrašas“)
x už keliamąjį_metą:
spausdinti (x)

Rezultatas

Išvada

Filtras () yra „Python“ integruota funkcija, naudojama norint filtruoti tam tikros funkcijos kartojamą funkciją. Šiame straipsnyje paaiškinama filtro () funkcija su pavyzdžiais.

„Tomb Raider for Linux“ pamoka
„Tomb Raider“ šešėlis yra dvyliktas „Tomb Raider“ serijos priedas - veiksmo ir nuotykių žaidimų franšizė, sukurta „Eidos Montreal“. Žaidimą kritikai i...
Kaip padidinti FPS sistemoje „Linux“?
FPS reiškia Kadrai per sekundę. FPS užduotis yra išmatuoti kadrų greitį atkuriant vaizdo įrašus ar žaidimus. Paprastais žodžiais, nepertraukiamų viso ...
Populiariausi „Oculus App Lab“ žaidimai
Jei esate „Oculus“ laisvų rankų įrangos savininkas, turite žinoti, kaip krauti iš šono. Šoninis įkėlimas yra ne parduotuvėje esančio turinio įdiegimas...