Filtre, yerleşik bir Python işlevidir. Belirtilen sırayı veya yinelenebiliri yinelenebilirdeki her öğeyi veya öğeyi doğru veya yanlış olarak kontrol eden bir işlev aracılığıyla filtreler. Basitçe söylemek gerekirse, filtre işlevi yinelenebilir olanı bir işlev aracılığıyla filtreler. Verilen işlev, dizinin her bir öğesini test eder veya yinelenebilir ve öğe verilen kriterleri karşılıyorsa true değerini döndürür. Sonuç olarak, filter() işlevi yeni bir yineleyici oluşturur. En sık kullanılan yinelenebilirler listeler, demetler ve sözlüklerdir. Bu makale, filtre() işlevini örnekler yardımıyla kısaca açıklamaktadır.
filtre() işlevinin sözdizimi
Önce filter() fonksiyonunun sözdizimini tartışalım. filter() işlevinin sözdizimi aşağıdaki gibidir:
filet(işlev, yinelenebilir veya sıra)Filtre işlevi argüman olarak iki parametre alır, i.e., işlev ve yinelenebilir. İşlev, verilen ölçütlere göre doğru olup olmadığını, yinelenebilir öğenin her öğesini veya öğesini kontrol eder. İkinci argüman yinelenebilir veya filtrelenecek dizidir. İşlev, yinelenebilir öğenin her bir öğesini verilen ölçütlere göre değerlendirir. Son olarak, filter() işlevi filtrelenmiş yineleyiciyi döndürür.
Filter() fonksiyonunun örneklerini görelim ve onu Python betiğimizde uygulayalım. Python komut dosyalarını oluşturmak ve çalıştırmak için bir spyder3 düzenleyicisi kullanıyoruz.
Örnek 1: Sayı listesini filtreleyin
Sayı listesini oluşturalım ve filtreleyelim. Verilen örnekte, list_func() her liste öğesini belirli bir koşulda değerlendirir. Liste öğesi 5'ten büyükse, işlev true değerini döndürür ve öğeyi filtreye ekler.
#numara listesi oluşturmamy_list = [1,2,3,4,5,6,10,20,35,8,4,50,60]
#fonksiyon oluşturma
def list_func(listObj):
# numarayı kontrol etmek için koşullu bir ifade
if(listObj>5):
dönüş True
Başka:
dönüş Yanlış
# yinelenebilir olanı list_func aracılığıyla filtrelemek için filtre işlevini kullanma
sayılar = filtre(list_func,my_list)
#yeni yineleyiciyi yazdırma
sayılarla i için:
yazdır(i)
Çıktı
Çıktı, filtrelenmiş yineleyiciyi görüntüler. Filtrelenmiş yineleyici, 5'ten büyük olan tüm öğeler tarafından oluşturulur.
Örnek 2: Karakter listesini filtreleyin
Karakter listesini oluşturalım ve filtre fonksiyonunu uygulayalım.
#numara listesi oluşturmamy_list = ['a','b','c','l','d','i','k','n','o','u','x']
#fonksiyon oluşturma
def list_func(listObj):
word_list=['l', 'i', 'n', 'u', 'x']
# karakteri kontrol etmek için koşullu bir ifade
if(word_list içindeki listObj):
dönüş True
Başka:
dönüş Yanlış
# yinelenebilir olanı list_func aracılığıyla filtrelemek için filtre işlevini kullanma
kelimeler = filtre(list_func,my_list)
#yeni yineleyiciyi yazdırma
kelimelerle i için:
yazdır(i)
Çıktı
Örnek 3: Çift sayıyı filtreleyin
Filtre işlevini kullanarak verilen sayı listesinden çift sayıları filtreleyelim.
#numara listesi oluşturmamy_list = [1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16]
#fonksiyon oluşturma
def list_func(listObj):
# çift sayıyı kontrol etmek için koşullu bir ifade
if(listObj%2==0):
dönüş True
Başka:
dönüş Yanlış
# yinelenebilir olanı list_func aracılığıyla filtrelemek için filtre işlevini kullanma
bile_numbers= filtre(list_func,my_list)
#yeni yineleyiciyi yazdırma
i için çift_sayılarda:
yazdır(i)
Çıktı
Örnek 4: Artık yılı filtreleyin
Filtre işlevini kullanarak verilen yıllar listesinden artık yılları filtreleyelim.
#numara listesi oluşturmamy_list = [2010,2012,2014,2016,2018,2020,2022,2024]
#fonksiyon oluşturma
def list_func(listObj):
# artık yılı kontrol etmek için koşullu bir ifade
if(listObj%4==0):
dönüş True
Başka:
dönüş Yanlış
# yinelenebilir olanı list_func aracılığıyla filtrelemek için filtre işlevini kullanma
leap_year= filtre(list_func,my_list)
#yeni yineleyiciyi yazdırma
leap_year'da ben için:
yazdır(i)
Çıktı
Çıktı, verilen yıl listesinden artık yılları görüntüler.
Örnek 5: lambda işlevini filter() ile kullanma
Filtre işlevi çoğunlukla lambda işleviyle birlikte kullanılır. Lambda işlevini bir argüman olarak filter() işlevine iletelim.
#numara listesi oluşturmamy_list = [2010,2012,2014,2016,2018,2020,2022,2024]
#çift_sayı değişkeni bildirme
#even_number değişkeni çift sayıları içerir
#lamda işlevini kullanma
bile_number = filtre(lambda listObj:listObj%2==0,my_list)
print("Çift sayıların listesi")
i için çift_sayıda:
yazdır(i)
leap_year = filtre(lambda listObj:listObj%4==0,my_list)
print("Artık yılların listesi")
artık_yıldaki x için:
yazdır(x)
Çıktı
Sonuç
Filter(), belirli bir işlevde yinelenebilir olanı filtrelemek için kullanılan yerleşik bir Python işlevidir. Bu makale, filtre() işlevini örneklerle açıklar.