koddla

Yazılımcıları bilgi ile güçlendirir.

Python filter() Fonksiyonu

Python’un filter() fonksiyonu, bir dizi veriyi belirli bir koşula göre filtrelemek için kullanabileceğimiz bir araçtır. İster sayılardan, ister dizelerden veya nesnelerden oluşan bir listeyle çalışıyor olun, bu işlev yalnızca ihtiyacınız olan öğeleri hızlı ve kolay bir şekilde seçmenize yardımcı olabilir.

filter() fonksiyonu ne işe yarar

Python’daki filter() fonksiyonu, liste veya tuple gibi bir veri dizisini belirli bir koşula göre filtrelemek için kullanılır. İki argüman alır: bir fonksiyon ve bir iterable. Filtre fonksiyonu olarak da bilinen fonksiyon, yinelenebilirdeki her bir öğenin sonuca dahil edilip edilmeyeceğini belirlemek için kullanılır. Fonksiyon bir öğe için True döndürürse, o öğe sonuca dahil edilir. False döndürürse, dahil edilmez.

Fonksiyon nasıl çalışır ve sözdizimi nedir?

filter() fonksiyonunun söz dizimi aşağıdaki gibidir:

filter(fonksiyon, yinelenebilir)

fonksiyon bağımsız değişkeni, bir bağımsız değişken alan ve bir Boolean değeri (True veya False) döndüren bir fonksiyondur. yinelenebilir bağımsız değişkeni ise filtrelemek istediğiniz veri dizisidir.

filter() fonksiyonu, filtre fonksiyonunu yinelenebilir’in her bir elemanına uygular. Filtre fonksiyonu bir öğe için True döndürürse, o öğe sonuca dahil edilir. Filtre fonksiyonu False döndürürse, o öğe sonuca dahil edilmez. Sonuç bir yineleyici olarak döndürülür, bu nedenle gerekirse bir listeye veya tuple’a dönüştürebilirsiniz.

Örneklerle fonksiyonun kullanımı

filter() fonksiyonunu kodunuzda nasıl kullanabileceğinize dair birkaç örneğe bakalım:

Örnek 1:

#Çift sayıları kontrol etmek için filtre işlevi
def cift_mi(x):
    if x%2==0:
        return True
    else:
        return False

#Sayıların listesi
sayilar = [1,2,3,4,5,6,7,8,9,10]

#Çift sayılar elde edin
ciftler = filter(cift_mi, sayilar)

#Çift sayıların listesi
print(liste(ciftler))

Yukarıdaki örnekte, argüman olarak bir sayı alan ve sayı çift ise True, değilse False döndüren cift_mi() adında bir fonksiyon tanımlıyoruz. Daha sonra 1’den 10’a kadar sayıları içeren sayilar adında bir liste tanımlıyoruz. Daha sonra cift_mi() fonksiyonunu ve sayilar listesini argüman olarak geçirerek sayilar listesinden çift sayıları almak için filtre fonksiyonunu kullanırız. Sonuç bir yineleyici olarak döndürülür, bu yüzden onu bir listeye dönüştürür ve yazdırırız.

Örnek 2:

#Palindrom dizeleri kontrol etmek için filtre işlevi
def palindrom_mu(kelime):
    if kelime == kelime[::-1]:
        return True
    else:
        return False

#Dizelerin listesi
kelimeler = ["madam", "kazak", "elma", "level"]

#Palindrom dizelerini al
palindromlar = filter(palindrom_mu, kelimeler)

#Palindrom dizelerinin listesi
print(liste(palindromlar))

Bu örnekte, argüman olarak bir dize alan ve dize palindrom ise True, değilse False döndüren palindrom_mu() adlı bir fonksiyon tanımladık. Daha sonra bazı rastgele kelimeler içeren kelimeler adında bir liste tanımladık. Ardından, palindrom_mu() fonksiyonunu ve kelimeler listesini argüman olarak geçirerek kelimeler listesinden palindrom dizeleri almak için filtre fonksiyonunu kullandık. Daha önce olduğu gibi, sonuç bir yineleyici olarak döndürülür, bu yüzden onu bir listeye dönüştürür ve yazdırırız.

Örnek 3:

#Öğrencinin sınavı geçip geçmediğini kontrol etmek için filtre işlevi
def gecti_mi(ogrenci):
    if ogrenci["not"] >= 50:
        return True
    else:
        return False

#Öğrenci listesi
ogrenciler = [{"isim": "Ahmet", "değil":60}, {"isim": "Mehmet", "değil":40}, {"isim": "Ayşe", "değil":70}]

#Sınavı geçen öğrencileri alın
gecenler = filter(gecti_mi, ogrenciler)

#Sınavı geçen öğrencilerin listesi
print(liste(gecenler))

Bu örnekte, bir öğrenciyi temsil eden bir sözlüğü argüman olarak alan ve öğrenci sınavı geçtiyse (50’den büyük veya eşit bir puana sahipse) True, aksi takdirde False döndüren gecti_mi() adlı bir fonksiyon tanımladık. Ardından, isimleri ve puanları dahil olmak üzere bazı öğrenciler hakkında bilgi içeren ogrenciler adlı bir liste tanımladık. Ardından, gecti_mi() fonksiyonunu ve ogrenciler listesini argüman olarak geçirerek sınavı geçen öğrencileri almak için filtre fonksiyonunu kullandık. Daha önce olduğu gibi, sonuç bir yineleyici olarak döndürülür, bu yüzden onu bir listeye dönüştürür ve yazdırırız.

Uygulama açısından bu işlev için yaygın kullanım durumları nelerdir?

filter() işlevi, aşağıdaki gibi çeşitli durumlarda yaygın olarak kullanılır:

  • Bir sayı listesinden yalnızca çift sayıları çıkarma
  • Bir dizgi listesinden yalnızca palindrom dizgileri ayıklama
  • Öğrenci kayıtlarından oluşan bir listeden yalnızca sınavı geçen öğrencileri çıkarma
  • Bir öğe listesinden yalnızca belirli bir koşulla eşleşen öğeleri ayıklama
  • vb.

Bunlar, filter() fonksiyonunu kodunuzda kullanabileceğiniz birçok yöntemden sadece birkaçı. Güçlü filtreleme özellikleriyle bu fonksiyon, yalnızca ihtiyacınız olan verileri hızlı ve kolay bir şekilde seçmenize yardımcı olarak kodunuzu daha verimli ve etkili hale getirebilir.

Yukarıda verilen örneklere ek olarak, filter() fonksiyonu daha karmaşık filtreleme işlemleri gerçekleştirmek için map() ve lambda() gibi diğer fonksiyonlarla birlikte de kullanılabilir. Örneğin, bir listenin öğelerini dönüştürmek için map() işlevini kullanabilir ve ardından yalnızca belirli bir koşulu karşılayan öğeleri seçmek için filter() işlevini kullanabilirsiniz.

filter() fonksiyonunun bir diğer yaygın kullanım alanı da büyük veri kümeleriyle çalışmaktır. filter() işlevi, belirli veri alt kümelerini hızlı ve kolay bir şekilde ayıklamanıza olanak tanıyarak analiz etmeyi ve üzerinde çalışmayı kolaylaştırır.

Ayrıca filter() fonksiyonunun Python’da yerleşik bir fonksiyon olduğunu, bu nedenle yaygın olarak desteklendiğini ve çeşitli farklı bağlamlarda kullanılabileceğini belirtmek gerekir. İster küçük komut dosyalarıyla ister büyük uygulamalarla çalışıyor olun, filter() işlevi verileri filtrelemek ve dizilerle çalışmak için paha biçilmez bir araç olabilir.

Özetle, filter() fonksiyonu bir dizi veriyi belirli bir koşula göre filtrelemenizi sağlayan güçlü bir araçtır. Çok çeşitli uygulamalarda kullanılabilen çok yönlü bir fonksiyondur ve daha karmaşık filtreleme işlemleri gerçekleştirmek için diğer fonksiyonlarla birlikte de kullanılabilir.

Bir yanıt yazın

E-posta adresiniz yayınlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir

Back to top