Python filtresi

Python işlevleri ve meth

Python filter() yöntemi, listeleri, kümeleri ve demetleri filtrelemek için kullanılır. filter(), yinelenebilir bir nesneyi filtrelemek için sağlanan tüm ölçütleri izler ve filtrelenmiş sonucu döndürür.

Programlama yaparken, bir değerler listeniz olabilir. bir şekilde filtrelemek istediğiniz Örneğin, bir çerez siparişleri listeniz olabilir ve yalnızca çerez mağazanızda belirli bir aşçı tarafından işlenen çikolata içerenleri iade etmek isteyebilirsiniz.

Python filtresinin bulunduğu yer burasıdır. () yöntemi devreye girer. filter() yöntemi, belirli bir listeyi önceden tanımlanmış bir dizi kritere göre filtrelemek ve filtrelenmiş verilerle yinelenebilir bir öğe döndürmek için kullanılabilir.

Bu eğitimde, filter() yöntemini ve bunu kodunuzda nasıl kullanabileceğinizi tartışacağız. Ayrıca Python kodundaki birkaç fonksiyon örneğini inceleyeceğiz.




Python Filter

Listeler, Python'da ortak bir değerle birden çok değeri depolamak için kullanılabilen bir veri türüdür. tema. Örneğin, yerel bir moda mağazasının indirimde olduğu tüm kıyafetleri saklamak veya programlama dili adlarının bir listesini saklamak için bir liste kullanabilirsiniz.

Genellikle, listelerle çalışırken, Listeyi bir dizi kritere göre filtrelemek istiyorum. Örneğin, bir sinema salonu işletiyor olabilirsiniz ve sinema kompleksinizde 18 yaşından küçük kaç kişinin sinemaya gittiğini bilmek isteyebilirsiniz.

filter(), yerleşik bir- işlevde, bir listeyi filtrelemek için kullanılabilir ve bir yineleyici döndürür. filter() yönteminin sözdizimi burada:

filter(function) , iterable_object)

filter() yöntemi iki parametre alır:

Katılımcıların %81'i teknik işlerinden daha emin hissettiklerini belirtti Bir bootcamp'a katıldıktan sonra beklentiler. Bugün bir eğitim kampı ile eşleştirin.

Ortalama bir eğitim kampı mezunu, bir eğitim kampına başlamaktan ilk işini bulmaya kadar, kariyer geçişinde altı aydan daha az zaman harcadı.

Belirttiğiniz yinelenebilir nesne, Python listeleri, sets ve tuples gibi yinelenebilir olabilir.




Python Filtre Örnekleri

Bu yöntemin nasıl kullanılabileceğini göstermek için bir örnek üzerinden gidelim.

Diyelim ki bir dergi standı işletiyorsunuz ve yeni envanter sipariş etmeniz gerekip gerekmediğini kontrol etmek istiyorsunuz. Herhangi bir derginin 20'den az baskısı varsa, yeni bir sipariş vermeniz gerekir; Bir derginin 20'den fazla baskısı varsa, yeni bir sipariş vermenize gerek yoktur. Sahip olduğunuz dergi miktarlarını saklayan bir numara listeniz var.

Herhangi bir dergi siparişi vermeniz gerekip gerekmediğini kontrol etmek için aşağıdaki kodu kullanabilirsiniz:

miktarlar = [25, 49, 21, 17, 14, 28] def checkQuantities(mags): if mags < 20: dönüş True else: return False filtered_mags = filter(checkQuantities, miktarlar) print(list(filtered_mags))

Kodumuz şunu döndürür: [17, 14]

Kodumuzu parçalayalım. İlk satırda, envanterimizde her bir derginin kaç baskı olduğunu saklayan quantities adında bir değişken tanımlıyoruz.

Ardından, checkQuantities adında bir fonksiyon tanımlıyoruz. , stokta belirli bir derginin 20'den az baskısının olup olmadığını kontrol eder. 20'den az sürümümüz varsa, checkQuantities işlevimiz True değerini döndürür; aksi takdirde False döndürür.

Sonra, filter() yöntemini kullanırız ve fonksiyonumuz olarak checkQuantities ve quantities'i belirtiriz. code> yinelenebilir nesnemiz olarak. Bu, filter() yöntemimize, miktarlar dizisindeki her öğe üzerinde checkQuantities yürütmesini söyler.

Ardından, filter() yöntemini seçin ve onu bir listeye dönüştürmek için list() kullanın. filter() bir liste değil, filtrelenmiş bir nesne döndürdüğü için bu önemlidir. Dolayısıyla, verilerimizi görmek istiyorsak, onu bir listeye dönüştürmemiz gerekiyor.


Gördüğünüz gibi, kodumuz iki değer döndürür: 17 ve 14. Bunların her biri 20'nin altındadır, bu da programımızın istendiği gibi çalıştığı anlamına gelir.

Haydi. bu yöntemin nasıl çalıştığını göstermek için başka bir örnek üzerinden gidin.Diyelim ki biz bir dans eğitmeniyiz ve sınıfımızdaki yedi ile on arasındaki, hem yedi hem de on dahil herkesin yaşını bilmek istiyoruz.Aşağıdaki kodu şu şekilde kullanabiliriz: bu verileri alın:

student_ages = [7, 9, 8, 10, 11, 11, 8, 9 , 12] def checkAges(ages): if age >= 7 ve ageler <= 10: return True else: return False filtered_ages = filter(checkAges, student_ages) print(list(filtered_ages))

Kodumuz şunu döndürür: [7, 9, 8, 10, 8, 9]. Gördüğünüz gibi, programımız yedi ila on f arasındaki öğrencileri filtrelemiştir. hem yedi hem de on dahil olmak üzere liste öğelerimizden. Ortaya çıkan liste, filtrelenmiş verilerimizi içerir. 




Lambda ile Python Filtresi

Filtre işlemimizi daha verimli hale getirmek için liste haritası Lambda işlevini kullanabiliriz. Lambda, isimsiz tanımlanmış ve Python'da kısa, tek satırlık anonim fonksiyonlar yazmak için kullanılabilen özel bir fonksiyondur.

Öyleyse, yukarıdan dergi miktarları örneğimizi ele alalım. Bu örnekte, bir derginin 20'den az baskısının stokta olup olmadığını kontrol eden bir fonksiyon yarattık ve bu fonksiyonu dergi listemizde yürütmek için filter() kullandık. Ardından, programımız 20'den az basımına sahip olduğumuz her derginin bir listesini verdi.

Aynı işlemi daha verimli bir şekilde gerçekleştirmek için bir Lambda işlevi kullanabilirdik. İşte kullanabileceğimiz kod:

quantities = [25, 49, 21, 17, 14, 28] filtered_mags = filtre(lambda mag: mag < 20, miktarlar) print(list(filtered_mags))

Kodumuz şunu döndürür: [17, 14] .

Gördüğünüz gibi çıktımız aynı, ancak kodumuz çok daha kısa. Bütün bir işlevi tanımlamak yerine, tek satırlık bir işlevi tanımlamak için Lambda'yı kullandık.


Bu tek satırlık işlev, stoğumuzda 20'den az dergi olup olmadığını kontrol eder ve bu durumdaysa True değerini filter() yineleyicisine döndürür. Uygulamadan sonra programımız iki değer içeren bir liste döndürür: 17 ve 14.

"Python.Engineering hayatıma en çok ihtiyacım olduğu anda girdi ve hızlı bir şekilde bir bootcamp ile eşleşmeme yardımcı oldu. Mezun olduktan iki ay sonra, hayattaki değerlerim ve hedeflerime uygun hayalimdeki işi buldum!"

Venus, Rockbot'ta Yazılım Mühendisi

< p>Python filter() işlevi, yinelenebilir bir nesneyi önceden tanımlanmış bir dizi ölçüte göre filtrelemek için kullanılabilir ve filtrelenmiş bir yinelenebilir öğe döndürür. yalnızca belirli kriterleri karşılayan değerleri almak istiyorsunuz.

Bu kılavuzda, filter() yönteminin sözdizimini ve Python'da nasıl kullanılabileceğini tartıştık. filter() uygulamasının birkaç örneğini çalışırken inceledik, ardından kodumuzu daha verimli hale getirmek için filter() işlevinin Python Lambda işleviyle nasıl kullanılabileceğini inceledik.

Artık bir Python uzmanı gibi filter() kullanmak için ihtiyacınız olan bilgilerle donatıldınız!





Python filtresi: StackOverflow Questions

Tutorials