Python

Cara menapis senarai rentetan di Python

Cara menapis senarai rentetan di 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 diisytiharkan 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
list1 = ['Perl', 'PHP', 'Java', 'ASP']
list2 = ['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
filter_data = [x untuk x dalam senarai2 jika
semua (y bukan dalam x untuk y dalam senarai1)]
 
# Cetak data senarai sebelum saringan dan selepas penapis
cetak ("Kandungan senarai pertama:", senarai1)
cetak ("Kandungan senarai kedua:", list2)
cetak ("Kandungan senarai kedua selepas penapis:", filter_data)

Pengeluaran:

Jalankan skrip. Di sini, senarai1 tidak mengandungi perkataan 'Tendangan'. 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 disaring dengan menggunakan senarai lain dan fungsi penapis tersuai. Skrip mengandungi dua pemboleh ubah senarai bernama list1 dan list2. Fungsi penapis tersuai akan mengetahui nilai sepunya dari kedua pemboleh ubah senarai.

# Menyatakan dua pemboleh ubah senarai
list1 = ['90', '67', '34', '55', '12', '87', '32']
list2 = ['9', '90', '38', '45', '12', '20']
 
# Nyatakan fungsi untuk menyaring data dari senarai pertama
def Filter (senarai1, senarai2):
kembalikan [n untuk n dalam senarai1 jika
mana-mana (m dalam n untuk m dalam senarai2)]
 
# Cetak data senarai sebelum menyaring dan selepas penapis
cetak ("Kandungan list1:", list1)
cetak ("Kandungan list2:", list2)
cetak ("Data selepas penapis", Saring (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 dengan 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 pada permulaan teks.

# Import semula modul untuk menggunakan ungkapan biasa
import semula
 
# Menyatakan senarai mengandungi kod subjek
sub senarai = ['CSE-407', 'PHY-101', 'CSE-101', 'ENG-102', 'MAT-202']
# Menyatakan fungsi penapis
def Filter (datalist):
# Cari data berdasarkan ungkapan biasa dalam senarai
kembalikan [val for val in datalist
sekiranya semula.cari (r '^ CSE', val)]
# Cetak data penapis
cetak (Tapis (senarai bawah))

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 bernama 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
search_word = ["Ajar", "Kod", "Pengaturcaraan", "Blog"]
# Tentukan teks di mana perkataan dari senarai akan dicari
text = "Belajar Pengaturcaraan Python dari Blog Petunjuk Linux"
# Pisahkan teks berdasarkan ruang dan simpan perkataan dalam senarai
text_word = teks.berpecah ()
# Menggunakan ekspresi lambda menapis data
filter_text = ".gabung ((saringan (lambda val: val not i
n search_word, text_word)))
# Cetak teks sebelum menyaring dan selepas menyaring
cetak ("\ nTeks sebelum menyaring: \ n", teks)
cetak ("Teks selepas menyaring: \ n", filter_text)

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 dikembalikan benar, jika tidak, ia membuang data. Di sini, Tiada diberikan sebagai nilai parameter pertama. Semua nilai tanpa salah akan diambil dari senarai sebagai data yang disaring.

# Menyatakan senarai data campuran
listData = ['Hello', 200, 1, 'World', False, True, '0']
 
# Kaedah penapis panggilan () dengan Tiada dan senarai
filteredData = filter (Tiada, listData)
 
# Cetak senarai setelah menyaring data
cetak ('Senarai selepas menyaring:')
untuk val dalam Data yang disaring:
cetak (val)

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 sangat 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.

Vulkan untuk Pengguna Linux
Dengan setiap kad grafik generasi baru, kami melihat pembangun permainan mendorong had kesetiaan grafik dan semakin dekat dengan fotorealisme. Tetapi ...
OpenTTD vs Simutrans
Membuat simulasi pengangkutan anda sendiri boleh menyeronokkan, santai dan sangat menarik. Itulah sebabnya anda perlu memastikan bahawa anda mencuba s...
Tutorial OpenTTD
OpenTTD adalah salah satu permainan simulasi perniagaan yang paling popular di luar sana. Dalam permainan ini, anda perlu membuat perniagaan pengangku...