logo

Python filter() függvény

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