A Python beépített filter() függvénye is hatékony; adatszűrési eljárás végrehajtásához olyan szekvenciákon, mint a listák, sorok és karakterláncok. A filter() függvényt arra használják, hogy egy függvényt alkalmazzanak egy iterálható elem minden elemére (például egy listára vagy sorra), és egy másik iterálhatót adjanak vissza, amely csak azokat az elemeket tartalmazza, amelyekhez a függvény visszaadja a True értéket. Ezen a vonalon a filter() lehetővé teszi, hogy valamilyen feltétel alapján kiszűrjük az elemeket egy csoportosításból. Az első argumentum None lehet, ha a függvény nem érhető el, és csak igaz elemeket ad vissza.
Szintaxis:
filter (function, iterable)
Paraméterek
funkció: Ez egy funkció. Ha a Nincs értékre van állítva, akkor csak az igaz elemeket adja vissza.
Iterálható: Bármilyen iterálható sorozat, például lista, sor és karakterlánc.
Mindkét paraméter kötelező.
Visszatérés
Ugyanazt adja vissza, mint amit a függvény.
Nézzünk néhány példát a filter() függvényre, hogy megértsük a funkcióját.
css igazító képek
Python filter() függvény 1. példa
Ez az egyszerű példa 5-nél nagyobb értékeket ad vissza a szűrő függvény használatával. Lásd az alábbi példát.
Kód
# 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))
Kimenet:
válassza ki mint
[6]
A kód egy filterdata nevű függvényt határoz meg, amely egyetlen x argumentumot vesz fel. Ebben a függvényben ellenőrizzük, hogy feltételezzük, hogy x nagyobb, mint 5, és ha ez igaz, akkor x-et nyomtatunk. Ezután meghívjuk a filter() függvényt, amely fő argumentumként a filterdata-t, az azt követő argumentumként pedig egy sor (1, 2, 6) átadja. A filter() függvény alkalmazza a filterdata() függvényt a sor minden elemére, és egy iterátort ad vissza, amely csak azokat az elemeket tartalmazza, amelyek teljesítik az x > 5 feltételt. Végül az iterátort listává alakítjuk a list() függvény segítségével. és nyomtassa ki az eredményt.
Íme néhány további példa a filter() metódus használatára a Pythonban:
2. példa:
Az üres karakterláncok kiszűrése a listából:
Kód
# 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)
Kimenet:
[ 'hello', 'world' ]
Ebben a példában a lambda függvény ellenőrzi, hogy az egyes karakterláncok nem üresek-e, és azt feltételezik, hogy egyenértékűek az üres karakterlánccal (''). A filter() függvény egy másik iterálhatót ad vissza, amely csak a nem üres karakterláncokat tartalmazza.
3. példa:
Szűrje ki a negatív számokat egy listából:
Kód
# 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)
Kimenet:
[1, 3, 5]
Ebben a példában a lambda-függvény úgy ellenőrzi, hogy feltételezi, hogy minden szám nem negatív. A filter() függvény egy másik iterálhatót ad vissza, amely csak a nem negatív számokat tartalmazza.
4. példa:
Az ismétlődések kiszűrése egy listából:
Kód
# 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)
Kimenet:
[ 1, 4, 5 ]
Ebben a példában a lambda függvény ellenőrzi, hogy minden szám csak egyszer jelenik meg a számlistában, megszámolja, hogy milyen gyakran jelenik meg (számok.szám(x)), és teszteli, hogy a szám megegyezik-e 1. A filter() függvény egy másik iterálhatót ad vissza, amely csak az egyedi számokat tartalmazza.
Megjegyzés: Lényeges, hogy a Python 3-ban a filter() függvény egy iterálható értéket ad vissza, és ez azt jelenti, hogy valóban teljes egészében listává kell változtatni (amint az a fenti példákban látható), hogy szerepeljen listaként. Ennek ellenére a Python 2-ben a filter() függvény természetesen egy listát ad vissza.
Következtetés:
Végül a filter() függvény egy hatékony eszköz a Pythonban végzett adatkezeléshez. Egy iterálható előre meghatározott feltétel alapján történő szűrésével gyorsan és hatékonyan elkülönítheti a valóban kívánt adatokat. Hasonlóképpen használhatja a filter()-t más Python-függvényekkel keverve, hogy zavaróbb adatkezelést hajtson végre.
loop bash számára