Python szűrő ()

A filter () metódus iterátort készít egy iterálható elemekből, amelyekre a függvény igaz.

Egyszerű szavakkal, a filter()módszer szűri az adott iterálhatóságot egy olyan függvény segítségével, amely az iteráció minden elemét igaznak, vagy sem.

A filter()módszer szintaxisa :

 szűrő (függvény, iterálható)

filter () Paraméterek

filter() A módszer két paramétert vesz fel:

  • function - függvény, amely azt teszteli, hogy egy iterálható elem igaz vagy hamis értéket
    ad-e vissza
  • iterálható - szűrhető iterálható, lehet bármilyen iterátor halmaza, listája, tömbje vagy tárolója

Visszatérési érték a szűrőből ()

filter() A method egy olyan iterátort ad vissza, amely megfelelt az iterálható elemek minden elemének a funkcióellenőrzésen.

filter() módszer egyenértékű:

 # ha a funkció definiálva (az iterálható elem eleme, ha a függvény (elem)) # ha a függvény nincs (az iterálható elem eleme, ha az elem)

1. példa: Hogyan működik a filter () az iterálható listánál?

 # list of letters letters = ('a', 'b', 'd', 'e', 'i', 'j', 'o') # function that filters vowels def filterVowels(letter): vowels = ('a', 'e', 'i', 'o', 'u') if(letter in vowels): return True else: return False filteredVowels = filter(filterVowels, letters) print('The filtered vowels are:') for vowel in filteredVowels: print(vowel)

Kimenet

 A szűrt magánhangzók: aeio 

Itt van egy betűk listája, és csak a magánhangzókat kell kiszűrnünk.

Használhatnánk egy for for ciklust, hogy áttekintsük a betűlista minden elemét, és egy másik listában tároljuk, de a Pythonban ez a folyamat egyszerűbb és gyorsabb a filter()módszer alkalmazásával.

Van egy funkciónk, filterVowelsamely ellenőrzi, hogy egy betű magánhangzó-e vagy sem. Ez a függvény átkerül a filter()metódusra a betűk listájával.

filter()A metódus ezután minden betűt átad a filterVowels()metódusnak, hogy ellenőrizze, igaz-e vagy sem. Végül iterátort hoz létre az igazra visszatérők közül (magánhangzók).

Mivel az iterátor nem maga tárolja az értékeket, végiglapozzuk és egyenként kinyomtatjuk a magánhangzókat.

2. példa: Hogyan működik a filter () módszer a szűrőfunkció nélkül?

 # random list randomList = (1, 'a', 0, False, True, '0') filteredList = filter(None, randomList) print('The filtered elements are:') for element in filteredList: print(element)

Kimenet

 A szűrt elemek a következők: 1 a True 0 

Itt van egy véletlenszerű számlistánk, stringünk és logikai listánk a randomList-ben.

A randomList-et átadjuk a filter()módszernek, amelynek első paramétere (szűrőfunkció): Nincs.

Ha a szűrőfunkció nincs, akkor a funkció alapértelmezés szerint Identity függvény, és a randomList minden egyes elemét ellenőrizzük, hogy igaz-e vagy sem.

Amikor végigpörgetjük a végső filteredList listát, megkapjuk azokat az elemeket, amelyek igazak: 1, a, True and '0'(A '0' karakterláncként szintén igaz).

érdekes cikkek...