logo

Функција Питхон филтер().

Питхон-ова уграђена функција филтер() је такође моћна; за извођење процедуре филтрирања података на секвенцама као што су листе, тупле и стрингови. Функција филтер() се користи да примени функцију на сваки елемент итерабле (попут листе или тупле) и врати другу итерабле која садржи само елементе за које функција враћа Труе. У складу са овим, филтер() нам дозвољава да филтрирамо елементе из груписања на основу неког услова. Први аргумент може бити Ноне ако функција није доступна и враћа само елементе који су Тачни.

Синтакса:

 filter (function, iterable) 

Параметерс

функција: То је функција. Ако је постављено на Ништа, враћа само елементе који су Тачни.

Итерабле: Било који низ који се може понављати као што је листа, тупле и стринг.

Оба параметра су обавезна.

Повратак

Враћа исто као што је вратила функција.

Хајде да видимо неке примере функције филтер() да бисмо разумели њену функционалност.

Пример функције Питхон филтер() 1

Овај једноставан пример враћа вредности веће од 5 користећи функцију филтера. Погледајте пример у наставку.

Код

 # Python filter() function example def filterdata(x): if x>5: return x # Calling function result = filter(filterdata,(1,2,6)) # Displaying result print(list(result)) 

Излаз:

[6] 

Код дефинише функцију под називом филтердата која узима један аргумент к. У овој функцији проверавамо под претпоставком да је к веће од 5, и под условом да је то тачно, штампамо к. Затим позивамо функцију филтер() , прослеђујући филтердата као главни аргумент и тупле (1, 2, 6) као следећи аргумент. Функција филтер() примењује функцију филтердата() на сваки елемент тупле и враћа итератор који садржи само елементе који испуњавају услов к > 5. Коначно, конвертујемо итератор у листу користећи функцију лист() и одштампајте резултат.

Следи неколико додатних примера како да користите метод филтер() у Питхон-у:

Пример 2:

Филтрирајте празне стрингове са листе:

Код

 # Python filter() function example strings = [ '', 'hello', '', 'world', '' ] # Using filter() to remove empty strings from the list result = list(filter(lambda x: x != '', strings)) # Printing the result print(result) 

Излаз:

 [ 'hello', 'world' ] 

У овом примеру, ламбда функција проверава у случају да сваки стринг није празан тестирањем под претпоставком да је еквивалентан празном низу (''). Функција филтер() враћа други итерабле који садржи само непразне стрингове.

Пример 3:

Филтрирајте негативне бројеве са листе:

Код

 # Python filter() function example numbers = [ 1, -2, 3, -4, 5, -6 ] # Using filter() to remove negative numbers from the list result = list(filter(lambda x: x >= 0, numbers)) # Printing the result print(result) 

Излаз:

 [1, 3, 5] 

У овом примеру, ламбда функција проверава под претпоставком да сваки број није негативан тестирањем у случају да је истакнутији или еквивалентан нули (0). Функција филтер() враћа још један итерабле који садржи само не-негативне бројеве.

Пример 4:

Филтрирајте дупликате са листе:

Код

 # Python filter() function example numbers = [ 1, 2, 3, 2, 4, 3, 5 ] # Using filter() to remove duplicate numbers from the list result = list(filter(lambda x: numbers.count(x) == 1, numbers)) # Printing the result print(result) 

Излаз:

 [ 1, 4, 5 ] 

У овом примеру, ламбда функција проверава у случају да се сваки број појави само једном на листи бројева тако што броји колико често се појављује (бројеви.цоунт(к)) и тестира у случају да је број еквивалентан 1. Функција филтер() враћа још један итерабле који садржи само јединствене бројеве.

Напомена: Значајно је да у Питхон-у 3 функција филтер() враћа итерабле, а то имплицира да заиста желите да је потпуно промените у листу (као што је приказано у примерима изнад) да бисте је укључили као листу. Без обзира на то, у Питхон 2, функција филтер() враћа листу наравно.

Закључак:

Коначно, функција филтер() је моћан алат за манипулацију подацима у Питхон-у. Филтрирањем итерабле на основу унапред дефинисаног услова, можете брзо и ефикасно одвојити податке које заиста желите. Такође можете користити филтер() у комбинацији са другим Питхон функцијама да бисте извршили збуњујуће манипулације подацима.