Python'da bir dizi listesi nasıl filtrelenir

How Filter List Strings Python



Python, sıralı bir dizinde birden çok veri depolamak için liste veri türünü kullanır. Diğer programlama dillerinin sayısal bir dizisi gibi çalışır. filter() yöntemi, Python'un çok kullanışlı bir yöntemidir. Bir veya daha fazla veri değeri, filter() yöntemi kullanılarak Python'daki herhangi bir dizeden, listeden veya sözlükten filtrelenebilir. Verileri belirli bir koşula göre filtreler. Koşul true döndürdüğünde verileri depolar ve false döndürdüğünde verileri atar. Bir listedeki dize verilerinin Python'da nasıl filtrelenebileceği bu makalede farklı örnekler kullanılarak gösterilmektedir. Bu makalenin örneklerini test etmek için Python 3+ kullanmanız gerekir.

Başka bir listeyi kullanarak bir dize listesini filtreleyin

Bu örnek, bir dize listesindeki verilerin herhangi bir yöntem kullanmadan nasıl filtrelenebileceğini gösterir. Dize listesi burada başka bir liste kullanılarak filtrelenir. Burada, iki liste değişkeni adı ile bildirilir. liste1 ve liste2 . değerleri liste2 değerleri kullanılarak filtrelenir. liste1 . Komut dosyası, her bir değerin ilk kelimesiyle eşleşecektir. liste2 değerleri ile liste1 ve içinde bulunmayan değerleri yazdırın liste1 .







# İki liste değişkeni bildirin
liste1= ['Perl', 'PHP', 'Java', 'ASP']
liste2= ['JavaScript, istemci tarafı betik dilidir',
'PHP, sunucu taraflı bir betik dilidir',
'Java bir programlama dilidir',
'Bash bir betik dilidir']

# İkinci listeyi birinci listeye göre filtrele
filtre_verileri= [xiçinxiçindeliste2Eğer
herşey(veOlumsuz içindexiçinveiçindeliste1)]

# Liste verilerini filtreden önce ve filtreden sonra yazdır
Yazdır('İlk listenin içeriği:',liste1)
Yazdır('İkinci listenin içeriği:',liste2)
Yazdır('Filtreden sonraki ikinci listenin içeriği:',filtre_verileri)

Çıktı:



Komut dosyasını çalıştırın. Buraya, liste1 ' kelimesini içermiyor bash '. Çıktı, yalnızca bir değer içerecektir liste2 yani ' Bash bir betik dilidir' .







Başka bir liste ve özel işlev kullanarak bir dize listesini filtreleyin

Bu örnek, başka bir liste ve özel filtre işlevi kullanılarak bir dize listesinin nasıl filtrelenebileceğini gösterir. Komut dosyası, liste1 ve liste2 adlı iki liste değişkeni içerir. Özel filtre işlevi, her iki liste değişkeninin ortak değerlerini bulacaktır.

# İki liste değişkeni bildirin
liste1= ['90', '67', '3. 4', '55', '12', '87', '32']
liste2= ['9', '90', '38', 'Dört beş', '12', 'yirmi']

# İlk listedeki verileri filtrelemek için bir işlev bildirin
tanımFiltre(liste1,liste2):
dönüş [niçinniçindeliste1Eğer
herhangi(miçindeniçinmiçindeliste2)]

# Liste verilerini filtreden önce ve filtreden sonra yazdırın
Yazdır('Liste1'in içeriği:',liste1)
Yazdır('Liste2'nin içeriği:',liste2)
Yazdır('Filtreden sonraki veriler',Filtre(liste1,liste2))

Çıktı:



Komut dosyasını çalıştırın. Her iki liste değişkeninde de 90 ve 12 değerleri var. Komut dosyasını çalıştırdıktan sonra aşağıdaki çıktı üretilecektir.

Normal ifadeyi kullanarak bir dize listesini filtreleyin

Liste kullanılarak filtrelenir herşey() ve herhangi() Önceki iki örnekteki yöntemler. Bu örnekte, bir listeden verileri filtrelemek için normal bir ifade kullanılmıştır. Normal ifade, herhangi bir verinin aranabileceği veya eşleştirilebileceği bir kalıptır. 'tekrar' modül, komut dosyasında normal ifadeyi uygulamak için python'da kullanılır. Burada konu kodları ile bir liste bildirilir. ' kelimesiyle başlayan konu kodlarını filtrelemek için normal bir ifade kullanılır. ÖAM '. ' ^ ' sembolü, metnin başlangıcında arama yapmak için normal ifade kalıplarında kullanılır.

# Normal ifadeyi kullanmak için yeniden modülü içe aktarın
içe aktarmak tekrar

# Listenin konu kodunu içerdiğini bildirin
alt liste= ['ÖAM-407', 'PHY-101', 'ÖAM-101', 'ENG-102', 'MAT-202']

# Filtre işlevini bildir
tanımFiltre(veri listesi):
# Listedeki normal ifadeye göre veri arayın
dönüş [saatiçinsaatiçindeveri listesi
Eğer tekrar.arama(r'^ ÖAM',saat)]

# Filtre verilerini yazdır
Yazdır(Filtre(alt liste))

Çıktı:

Komut dosyasını çalıştırın. alt liste değişken ' ile başlayan iki değer içerir ÖAM '. Komut dosyasını çalıştırdıktan sonra aşağıdaki çıktı görünecektir.

Lamda ifadesini kullanarak bir dize listesini filtreleyin

Bu örnek, lamda dizeler listesinden verileri filtrelemek için ifade. Burada, adlı bir liste değişkeni kelime ara adlı bir metin değişkeninden içeriği filtrelemek için kullanılır Metin . Metnin içeriği, adlı bir listeye dönüştürülür, metin_kelime kullanarak uzaya dayalı bölmek() yöntem. lamda ifadesi, bu değerleri metin_kelime içinde var olan kelime ara ve filtrelenmiş değerleri boşluk ekleyerek bir değişkende saklayın.

# Arama kelimesini içeren bir liste bildirin
kelime ara= ['Öğretmek', 'Kod', 'Programlama', 'Blog']

# Listedeki kelimenin aranacağı metni tanımlayın
Metin= 'Python Programlamayı Linux İpucu Blogundan Öğrenin'

# Metni boşluğa göre bölün ve kelimeleri bir listede saklayın
metin_kelime=Metin.bölmek()

# Lambda ifadesini kullanarak verileri filtreleyin
filtre_metin= ''.katılmak((filtre(lambdaval: valOlumsuzben
n arama_kelimesi,metin_kelime)))

# Metni filtrelemeden önce ve filtrelemeden sonra yazdırın
Yazdır(' Filtrelemeden önceki metin: ',Metin)
Yazdır('Filtrelemeden sonra metin: ',filtre_metin)

Çıktı:

Komut dosyasını çalıştırın. Komut dosyasını çalıştırdıktan sonra aşağıdaki çıktı görünecektir.

filter() yöntemini kullanarak bir dize listesini filtreleyin

filtre() metot iki parametre kabul eder. İlk parametre bir işlev adı alır veya Hiçbiri ve ikinci parametre, liste değişkeninin adını değerler olarak alır. filtre() method, true dönerse bu verileri listeden saklar, aksi takdirde verileri atar. Buraya, Hiçbiri ilk parametre değeri olarak verilir. olmadan tüm değerler YANLIŞ listeden filtrelenmiş veri olarak alınacaktır.

# Karışım verilerinin bir listesini bildirin
listData= ['Merhaba', 200, 1, 'Dünya', YANLIŞ, NS, '0']

# Yok ve bir liste ile filter() yöntemini çağırın
filtrelenmişveri= filtre(Hiçbiri,listData)

# Verileri filtreledikten sonra listeyi yazdırın
Yazdır('Filtrelemeden sonraki liste:')
içinsaatiçindefilteredData:
Yazdır(saat)

Çıktı:

Komut dosyasını çalıştırın. Liste, filtrelenmiş verilerde atlanacak yalnızca bir yanlış değer içerir. Komut dosyasını çalıştırdıktan sonra aşağıdaki çıktı görünecektir.

Çözüm:

Filtreleme, bir listeden belirli değerleri aramanız ve almanız gerektiğinde yardımcı olur. Umarım yukarıdaki örnekler, okuyucuların bir dizi diziden veri filtreleme yollarını anlamalarına yardımcı olur.