Cara menapis senarai rentetan di Python

How Filter List Strings Python



Python menggunakan jenis data senarai untuk menyimpan banyak data dalam indeks berurutan. Ia berfungsi seperti susunan angka bahasa pengaturcaraan lain. kaedah filter () adalah kaedah Python yang sangat berguna. Satu atau lebih nilai data dapat disaring dari sebarang rentetan atau senarai atau kamus di Python dengan menggunakan kaedah filter (). Ia menyaring data berdasarkan keadaan tertentu. Ia menyimpan data apabila keadaan kembali benar dan membuang data ketika kembali palsu. Bagaimana data rentetan dalam senarai dapat disaring dalam Python ditunjukkan dalam artikel ini dengan menggunakan contoh yang berbeza. Anda mesti menggunakan Python 3+ untuk menguji contoh artikel ini.

Tapis senarai rentetan menggunakan senarai lain

Contoh ini menunjukkan bagaimana data dalam senarai rentetan dapat disaring tanpa menggunakan kaedah apa pun. Senarai rentetan disaring di sini dengan menggunakan senarai lain. Di sini, dua pemboleh ubah senarai dinyatakan dengan nama senarai1 dan senarai2 . Nilai-nilai senarai2 ditapis dengan menggunakan nilai-nilai senarai1 . Skrip akan sesuai dengan perkataan pertama dari setiap nilai senarai2 dengan nilai-nilai senarai1 dan mencetak nilai-nilai yang tidak ada di dalamnya senarai1 .







# Menyatakan dua pemboleh ubah senarai
senarai1= ['Perl', 'PHP', 'Java', 'ASP']
senarai2= ['JavaScript adalah bahasa skrip sisi pelanggan',
'PHP adalah bahasa skrip sisi pelayan',
'Java adalah bahasa pengaturcaraan',
'Bash adalah bahasa skrip']

# Tapis senarai kedua berdasarkan senarai pertama
tapisan_data= [xuntukxdalamsenarai2sekiranya
semua(dantidak dalamxuntukdandalamsenarai1)]

# Cetak data senarai sebelum saringan dan selepas penapis
mencetak('Kandungan senarai pertama:',senarai1)
mencetak('Kandungan senarai kedua:',senarai2)
mencetak('Kandungan senarai kedua selepas penapis:',tapisan_data)

Pengeluaran:



Jalankan skrip. Di sini, senarai1 tidak mengandungi perkataan ‘ Pukulan '. Keluaran akan mengandungi hanya satu nilai dari senarai2 itu dia ' Bash adalah bahasa skrip ’ .







Tapis senarai rentetan menggunakan senarai lain dan fungsi tersuai

Contoh ini menunjukkan bagaimana senarai rentetan dapat ditapis dengan menggunakan senarai lain dan fungsi penapis tersuai. Skrip mengandungi dua pemboleh ubah senarai bernama list1 dan list2. Fungsi penapis khas akan mengetahui nilai sepunya dari kedua pemboleh ubah senarai.

# Menyatakan dua pemboleh ubah senarai
senarai1= ['90', '67', '3. 4', '55', '12', '87', '32']
senarai2= ['9', '90', '38', 'Empat lima', '12', 'dua puluh']

# Nyatakan fungsi untuk menyaring data dari senarai pertama
defTapis(senarai1,senarai2):
kembali [nuntukndalamsenarai1sekiranya
ada(mdalamnuntukmdalamsenarai2)]

# Cetak data senarai sebelum saringan dan selepas saringan
mencetak('Kandungan senarai1:',senarai1)
mencetak('Kandungan senarai2:',senarai2)
mencetak('Data selepas penapis',Tapis(senarai1,senarai2))

Pengeluaran:



Jalankan skrip. Nilai 90 dan 12 wujud dalam kedua-dua pemboleh ubah senarai. Output berikut akan dihasilkan setelah menjalankan skrip.

Tapis senarai rentetan menggunakan ungkapan biasa

Senarai ditapis dengan menggunakan semua() dan mana-mana () kaedah dalam dua contoh sebelumnya. Ungkapan biasa digunakan dalam contoh ini untuk menyaring data dari senarai. Ungkapan biasa adalah corak di mana data dapat dicari atau dipadankan. ‘Semula’ modul digunakan dalam python untuk menerapkan ungkapan biasa dalam skrip. Di sini, senarai dinyatakan dengan kod subjek. Ungkapan biasa digunakan untuk menyaring kod subjek yang bermula dengan kata, ' CSE '. ' ^ Simbol digunakan dalam corak ekspresi biasa untuk mencari di awal teks.

# Import semula modul untuk menggunakan ungkapan biasa
mengimport semula

# Menyatakan senarai mengandungi kod subjek
senarai kecil= ['CSE-407', 'PHY-101', 'CSE-101', 'ENG-102', 'MAT-202']

# Menyatakan fungsi penapis
defTapis(datalis):
# Cari data berdasarkan ungkapan biasa dalam senarai
kembali [jamuntukjamdalamdatalis
sekiranya semula.cari(r'^ CSE',jam)]

# Cetak data penapis
mencetak(Tapis(senarai kecil))

Pengeluaran:

Jalankan skrip. senarai kecil pemboleh ubah mengandungi dua nilai yang bermula dengan ‘ CSE '. Output berikut akan muncul setelah menjalankan skrip.

Tapis senarai rentetan menggunakan ungkapan lamda

Contoh ini menunjukkan penggunaan lamda ungkapan untuk menyaring data dari senarai rentetan. Di sini, pemboleh ubah senarai dinamakan cari_kata digunakan untuk menyaring kandungan dari pemboleh ubah teks bernama teks . Kandungan teks diubah menjadi senarai bernama, kata kunci teks berdasarkan ruang dengan menggunakan berpecah () kaedah. lamda ungkapan akan menghilangkan nilai-nilai tersebut dari kata kunci teks yang wujud di cari_kata dan simpan nilai yang ditapis dalam pemboleh ubah dengan menambahkan ruang.

# Menyatakan senarai yang mengandungi kata carian
cari_kata= ['Ajar', 'Kod', 'Pengaturcaraan', 'Blog']

# Tentukan teks di mana perkataan dari senarai akan dicari
teks= 'Belajar Pengaturcaraan Python dari Linux Hint Blog'

# Pisahkan teks berdasarkan ruang dan simpan perkataan dalam senarai
kata kunci teks=teks.berpecah()

# Menggunakan ekspresi lambda menapis data
penapis_teks= ''.sertai((tapis(lambdaval: valtidaki
n search_word,kata kunci teks)))

# Cetak teks sebelum menyaring dan selepas menapis
mencetak(' nTeks sebelum menapis: n',teks)
mencetak('Teks selepas menyaring: n',penapis_teks)

Pengeluaran:

Jalankan skrip. Output berikut akan muncul setelah menjalankan skrip.

Tapis senarai rentetan menggunakan kaedah filter ()

penapis () kaedah menerima dua parameter. Parameter pertama mengambil nama fungsi atau Tiada dan parameter kedua mengambil nama pemboleh ubah senarai sebagai nilai. penapis () kaedah menyimpan data tersebut dari senarai jika data tersebut kembali benar, jika tidak, data tersebut akan dibuang. Di sini, Tiada diberikan sebagai nilai parameter pertama. Semua nilai tanpa salah akan diambil dari senarai sebagai data yang disaring.

# Menyatakan senarai data campuran
senaraiData= ['Helo', 200, 1, 'Dunia', Salah, Betul, '0']

# Kaedah penapis panggilan () dengan Tiada dan senarai
ditapisData= tapis(Tiada,senaraiData)

# Cetak senarai setelah menyaring data
mencetak('Senarai selepas menapis:')
untukjamdalamdisaringData:
mencetak(jam)

Pengeluaran:

Jalankan skrip. Senarai mengandungi hanya satu nilai palsu yang akan dihilangkan dalam data yang disaring. Output berikut akan muncul setelah menjalankan skrip.

Kesimpulan:

Penapisan berguna apabila anda perlu mencari dan mendapatkan nilai tertentu dari senarai. Saya harap contoh di atas dapat membantu pembaca memahami cara-cara menyaring data dari senarai rentetan.