Python integruota filtro () funkcija taip pat yra galinga; duomenų filtravimo procedūrai atlikti tokiose sekose kaip sąrašai, eilės ir eilutės. Funkcija filtras() naudojama funkcijai pritaikyti kiekvienam iteruojamo elemento elementui (pvz., sąrašui arba eilei) ir grąžinti kitą iteraciją, kurioje yra tik elementai, kuriems funkcija grąžina True. Be to, filtras () leidžia mums filtruoti elementus iš grupavimo pagal tam tikras sąlygas. Pirmasis argumentas gali būti None, jei funkcija nepasiekiama ir pateikia tik elementus, kurie yra teisingi.
Sintaksė:
filter (function, iterable)
Parametrai
funkcija: Tai funkcija. Jei nustatyta į None, pateikiami tik tie elementai, kurie yra teisingi.
Pakartojama: Bet kokia kartojama seka, pvz., sąrašas, eilutė ir eilutė.
Reikalingi abu parametrai.
vaizdų suderinimas css
Grįžti
Jis grąžina tą patį, ką grąžino funkcija.
Pažiūrėkime keletą funkcijos filter() pavyzdžių, kad suprastume jos funkcionalumą.
Python filtras() Funkcijos 1 pavyzdys
Šis paprastas pavyzdys, naudojant filtro funkciją, pateikia didesnes nei 5 reikšmes. Žiūrėkite žemiau esantį pavyzdį.
anotacijos spyruokliniuose batuose
Kodas
# Python filter() function example def filterdata(x): if x>5: return x # Calling function result = filter(filterdata,(1,2,6)) # Displaying result print(list(result))
Išvestis:
[6]
Kodas apibrėžia funkciją, vadinamą filtravimo duomenimis, kuri paima vieną argumentą x. Šioje funkcijoje tikriname, kad x yra didesnis nei 5, ir jei tai tiesa, spausdiname x. Tada iškviečiame funkciją filtras(), perduodant filtro duomenis kaip pagrindinį argumentą, o eilutę (1, 2, 6) kaip paskesnį argumentą. Funkcija filtras() pritaiko funkciją filterdata() kiekvienam sektos elementui ir grąžina iteratorių, kuriame yra tik tie elementai, kurie atitinka sąlygą x > 5. Galiausiai iteratorių konvertuojame į sąrašą naudodami list() funkciją. ir atsispausdinti rezultatą.
Toliau pateikiami keli papildomi filtro () metodo naudojimo Python pavyzdžiai:
2 pavyzdys:
Iš sąrašo išfiltruokite tuščias eilutes:
Kodas
# Python filter() function example strings = [ '', 'hello', '', 'world', '' ] # Using filter() to remove empty strings from the list result = list(filter(lambda x: x != '', strings)) # Printing the result print(result)
Išvestis:
konvertuoti eilutę į int
[ 'hello', 'world' ]
Šiame pavyzdyje funkcija lambda tikrina, ar kiekviena eilutė nėra tuščia, darant prielaidą, kad ji yra lygiavertė tuščiai eilutei (''). Funkcija filtras () grąžina kitą kartojimą, kuriame yra tik netuščios eilutės.
3 pavyzdys:
Filtruokite neigiamus skaičius iš sąrašo:
Kodas
# Python filter() function example numbers = [ 1, -2, 3, -4, 5, -6 ] # Using filter() to remove negative numbers from the list result = list(filter(lambda x: x >= 0, numbers)) # Printing the result print(result)
Išvestis:
[1, 3, 5]
Šiame pavyzdyje lambda funkcija tikrina darant prielaidą, kad kiekvienas skaičius yra neneigiamas, testuojant tuo atveju, jei jis yra ryškesnis už nulį (0) arba lygus jam. Funkcija filtras () grąžina kitą kartojimą, kuriame yra tik neneigiami skaičiai.
4 pavyzdys:
Iš sąrašo išfiltruokite dublikatus:
Kodas
daryti būdami java
# Python filter() function example numbers = [ 1, 2, 3, 2, 4, 3, 5 ] # Using filter() to remove duplicate numbers from the list result = list(filter(lambda x: numbers.count(x) == 1, numbers)) # Printing the result print(result)
Išvestis:
[ 1, 4, 5 ]
Šiame pavyzdyje lambda funkcija tikrina, ar kiekvienas skaičius skaičių sąraše rodomas tik vieną kartą, skaičiuodama, kaip dažnai jis pasirodo (skaičiai.skaičius(x)), ir tikrina, ar skaičius yra lygiavertis 1. Funkcija filtras() grąžina kitą kartojimą, kuriame yra tik unikalūs skaičiai.
Pastaba: Svarbu, kad „Python 3“ funkcija filtras() grąžina kartojimą, o tai reiškia, kad jūs tikrai norite visiškai pakeisti ją į sąrašą (kaip parodyta anksčiau pateiktuose pavyzdžiuose), kad įtrauktumėte ją kaip sąrašą. Nepaisant to, Python 2, funkcija filtras () grąžina sąrašą, žinoma.
Išvada:
Galiausiai, funkcija filtras () yra galingas įrankis, skirtas duomenų apdorojimui Python. Filtruodami kartojimą pagal iš anksto nustatytą sąlygą, galite greitai ir efektyviai atskirti duomenis, kurių tikrai norite. Taip pat galite naudoti filtrą () kartu su kitomis Python funkcijomis, kad atliktumėte sudėtingesnes duomenų manipuliacijas.