Funkcija filter objektų filtravimui Python
Dabar išnagrinėkime funkciją filter.
Ji leidžia atfiltruoti sąrašų
ir kitų iteruojamų objektų elementus pagal tam tikrą
sąlygą. Pirmuoju parametru ji priima
funkciją, kuri nurodo tikrinimo sąlygą.
Antrajame parametre nurodomas sąrašas,
kurio elementai bus filtruojami.
Jei funkcija grąžina True, tai
elementas lieka naujajame sąraše. Jei
grąžinama False, tai elemento nebus
sąraše.
Tarkime, kad turime sąrašą:
lst = [1, 2, 3, 4, 5, 6]
Palikime jame tik lyginius skaičius.
Tam, naudodami lambda funkciją, nurodykime,
kad paduotam skaičiui į jos parametrą
turi dalintis iš: 2 be liekanos:
res = filter(lambda num: num % 2 == 0, lst)
print(list(res))
Vykdant kodą, bus grąžintas naujas sąrašas:
[2, 4, 6]
Duotas sąrašas su skaičiais:
lst = [1, 2, 3, 4, 5]
Į naują sąrašą įrašykite tik nelyginius skaičius iš šio sąrašo.
Duotas sąrašas su eilutėmis:
lst = ['abcd', 'ab', 'c', 'de', 'bc']
Į naują sąrašą įrašykite tik tas eilutes,
kurių ilgis lygus 2.