Funkcija filter

Funkcija filter filtrē elementus iterējamā objekta, atstājot tikai tos, kas atbilst noteiktiem nosacījumiem. Pirmajā parametrā tiek norādīta atzvanes funkcija (callback), pēc kuras tiks filtrēts objekts. Otrajā parametrā - pats filtrējamais objekts.

Objectī paliek tikai tie elementi, kuriem atzvanes funkcija atgriezīs True.

Funkcija savā rezultātā atgriež īpašu iterējamu objektu. To var pārveidot par sarakstu, izmantojot funkciju list.

Sintakse

pythonfilter(funkcija, objekts filtrēšanai)

Piemērs

Izmantosim filtra funkciju, lai no ievades saraksta iegūtu sarakstu, kas sastāv tikai no pāra elementiem:

pythonlst = [2, 3, 6, 8, 15]
res = filter(lambda x: x % 2 == 0, lst)
print(list(res))

Koda izpildes rezultāts:

python[2, 6, 8]

Piemērs

Tagad atfiltrēsim tikai nepāra elementus:

pythonlst = [2, 3, 6, 8, 15]
res = filter(lambda x: x % 2 != 0, lst)
print(list(res))

Koda izpildes rezultāts:

python[3, 15]

Skatiet arī

  • metode sort,
    kas kārto saraksta elementus
  • funkcija sorted,
    kas atgriež sakārtotu sarakstu no iterējamiem objektiem
  • funkcija map,
    kas pārlūko iterējamos objektus