Python'da filter() Fonksiyonu

by trustix


Eklenme Tarihi : 22 Aralık 2020 11:18 Views:     895



Python'da Gömülü Fonksiyonlar

Python'da önceden tanımlanmış ve python çekirdeğinde bulunan birtakım fonksiyonlar vardır. Bu fonksiyonlar büyük oranda geliştiricilerin işini kolaylaştırmak için tanımlanmışlardır. Bunlardan biri de filter fonskiyonudur.

 

Python'da filter() Fonskiyonu Ne İşe Yarar

Python programlamada kullanılan filter() fonksiyonu yapı olarak reduce() fonksiyonu ile benzerlik göstermektedir. filter() fonksiyonu iki parametre almaktadır. Bu parametrelerden ilki yine bir fonksiyondur. Ancak bu fonksiyon yalnızca sonucu boolean türünden bir değer döndüren fonksiyon olmak zorundadır. İkinci parametre ise bir iterasyon yapısı olmak durumundadır. Bu halde filter() fonksiyonu kendisine bağımsız değişken olarak verilen ilk fonksiyonu iterasyon yapısındaki bütün elemanlara uygular. Bu uygulama sonucunda True değer döndüren elemanları ayırır ve sonuç olarak bu elemanları karşımıza çıkarır. Yani asıl yapılan iş bir iterasyon yapısında belli bir koşulu sağlayan elemanların ayıklanmasıdır.

# Python'da filter() Fonksiyonu

"""
    lambda fonksiyonu içerisinde filter fonksiyonunu
    kullanarak 0-35 aralığında 3' tam bölünebilen sayıları
    bulmak için aşağıdaki gibi bir kod yazabiliriz.
"""


result = filter(lambda x: x % 3 == 0, [*range(35)])
result = list(result)
print(result)
# Output: [0, 3, 6, 9, 12, 15, 18, 21, 24, 27, 30, 33]
# Python'da filter() Fonksiyonu

"""
    Bir forum sitesi ya da alışveriş sitesine üyelik
    alındığını düşünelim. Bu sistem sadece yetişkinleri
    üye olarak kabul etmekte ve buna göre sisteme üye olmaya
    çalışanların yaş değerleri alıyor olsun. Bu durumda
    yaşları 18'den büyük olanları yetişkin olarak işaretlemek
    ve sadece bu kişilerin sisteme kayıt olmasına onay vermek için
    filter() fonksiyonu kullanılabilir.
"""
# Yaş değerlerini tutmak için bir liste tanımlıyoruz.
yas = [15, 12, 21, 18, 25, 33, 14, 22]

# Yaşı 18'den büyük olanlar için True değerini döndürecek bir fonksiyon tanımlıyoruz.
def test(x):
  if x < 18:
    return False
  else:
    return True

# yetişkin olanları ayırıyoruz.
yetiskin = filter(test, yas)

# Bir döngü yardımı ile bu yaş değerlerini ekrana yazdırıyoruz.
for x in yetiskin:
  print(x)
  
"""
    Output:
        21
        18
        25
        33
        22
"""
  

 

Yukarıdaki örnekte yaş değerlerini manuel olarak bir liste yapısı içerisinde tuttuk. Ancak input() fonksiyonu aracılığı ile bu yaş değerlerini pekala dinamik olarak da alabilirdik.

 

# Python'da filter() Fonksiyonu

"""
    0-100 aralığında 7 ile tam bölünebilen
    sayıları tespit etmek için buradaki örnekte olduğu
    gibi filter() fonksiyonu kullanılabilir. Bunun
    için öncelikle 7'ye tam bölündüğünde True değerini
    döndüren bir fonksiyon tanımlıyoruz. Daha sonra
    bu fonksiyonumuzu filter() fonskiyonuna bağımsız değişken
    olarak gönderiyoruz.
"""


def test_et(x):
    if x % 7 == 0:
        return True
    else:
        return False


num_1 = [*range(100)]
test_1 = filter(test_et, num_1)

# liste içeriğine ulaşabilmek için objemizi tekrar listeye dönüştürüyoruz.
test_1 = list(test_1)
print(test_1)
# Output: [0, 7, 14, 21, 28, 35, 42, 49, 56, 63, 70, 77, 84, 91, 98]


  

 

Evet arkadaşlar Python programlamada kullanılan filter() fonksiyonunu örnekler üzerinden incelemeye çalıştık. filter() fonksiyonu nasıl kullanılır, ne amaçla kullanılır gibi soruları da beraberinde cevaplamaya çalıştık.

print('Herkese İyi Kodlamalar')

 





0

Yorum Formu

vikikod.com    © 2019