Funkcija filter

Funkcija filter filtrauoja elementus iteruojamo objekto, palikdama tik atitinkančius tam tikrą sąlygą. Pirmame parametre nurodoma funkcija-atgalinio ryšio, pagal kurią bus filtruojamas objektas. Antrame parametre - pats objektas filtravimui.

Objekt lieka tik tie elementai, kuriems atgalinio ryšio funkcija grąžins True.

Funkcija savo rezultatu grąžina specialų iteruojamą objektą. Jį galima paversti sąrašu, pasinaudojus funkcija list.

Sintaksė

pythonfilter(funkcija, objektas filtravimui)

Pavyzdys

Panaudokime filtravimą pradiniam sąrašui gauti sąrašą, sudarytą tik iš lyginių elementų:

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

Kodo vykdymo rezultatas:

python[2, 6, 8]

Pavyzdys

O dabar išfiltruokime tik nelyginius elementus:

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

Kodo vykdymo rezultatas:

python[3, 15]

Taip pat žiūrėkite

  • metodas sort,
    kuris rūšiuoja sąrašo elementus
  • funkcija sorted,
    kuri grąžina surūšiuotą sąrašą iš iteruojamų objektų
  • funkcija map,
    kuri perrenka iteruojamus objektus