Pythoni filter ()

Filter () meetod ehitab iteraatori iterable elementidest, mille funktsioon tagastab true.

Lihtsamate sõnadega, filter()meetod filtreerib antud iterable funktsiooni abil, mis testib iterable'i kõiki elemente tõeseks või mitte.

Meetodi süntaks filter()on:

 filter (funktsioon, korduv)

filter () Parameetrid

filter() meetodil on kaks parameetrit:

  • function - funktsioon, mis testib, kas iteratsiooni elemendid tagastavad tõese või vale.
    Kui pole, on funktsiooni vaikeks funktsioon Identiteet
  • iterable - iterable, mis tuleb filtreerida, võivad olla mis tahes iteraatorite komplektid, loendid, rühmad või konteinerid

Tagastusväärtus filtrist ()

filter() meetod tagastab iteraatori, mis läbis itereeritava elemendi funktsiooni kontrolli.

filter() meetod on samaväärne järgmisega:

 # kui funktsioon on määratletud (elemendi iterable element, kui funktsioon (element)) # # kui funktsioon on Puudub (iterable elemendi element, kui element)

Näide 1: Kuidas filter () itereeritava loendi puhul töötab?

 # 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)

Väljund

 Filtreeritud täishäälikud on: aeio 

Siin on meil tähtede loend ja peame välja filtreerima ainult selles olevad täishäälikud.

Me võiksime kasutada for for loopi täheloendis iga elemendi läbimiseks ja selle salvestamiseks teise loendisse, kuid Pythonis on see protsess filter()meetodi abil lihtsam ja kiirem .

Meil on funktsioon, filterVowelsmis kontrollib, kas täht on täishäälik või mitte. See funktsioon edastatakse filter()meetodile koos tähtede loendiga.

filter()Seejärel edastab meetod iga tähe filterVowels()meetodile, et kontrollida, kas see vastab tõele või mitte. Lõpuks loob see iteraatori nendest, kes vastavad tõele (täishäälikud).

Kuna iteraator ise väärtusi ei salvesta, läheme sellest läbi ja printime ükshaaval välja täishäälikud.

Näide 2: Kuidas filter () meetod töötab ilma filtreerimisfunktsioonita?

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

Väljund

 Filtreeritud elemendid on: 1 a True 0 

Siin on meil randomList arvude, stringide ja booleanide juhuslik loetelu.

Edastame randomList filter()meetodile, mille esimene parameeter ( filtrifunktsioon ) on Puudub.

Kui filtrifunktsioon on Puudub, on funktsioon vaikimisi funktsioon Identiteet ja randomListi kõiki elemente kontrollitakse, kas see on tõene või mitte.

Lõpliku filtreeritud loendi sirvimisel saame tõesed elemendid: 1, a, True and '0'(Tõene on ka stringina '0').

Huvitavad Artiklid...