Menapis Rentetan Yang Mengandungi Kandungan Khusus
Menapis senarai rentetan berdasarkan kandungan ialah tugas biasa dalam pengaturcaraan. Dalam kes ini, kami ingin mengekstrak semua rentetan daripada senarai yang mengandungi subrentetan "ab". Ini boleh dicapai dalam pelbagai cara dalam Python.
Pemahaman Senarai
Pendekatan yang paling berkesan ialah menggunakan pemahaman senarai, yang menggabungkan lelaran senarai dan penapisan bersyarat dalam satu ungkapan . Begini cara anda boleh melakukannya:
<code class="python">lst = ['a', 'ab', 'abc', 'bac'] ab_strings = [k for k in lst if 'ab' in k] print(ab_strings)</code>
Output:
['ab', 'abc']
Fungsi Penapis
Pilihan lain ialah untuk menggunakan fungsi penapis, yang berulang melalui senarai dan menggunakan kriteria penapisan yang ditentukan oleh fungsi lambda. Dalam Python 2, anda boleh menggunakannya seperti berikut:
<code class="python">ab_strings = filter(lambda k: 'ab' in k, lst)</code>
Dalam Python 3, penapis mengembalikan lelaran dan bukannya senarai, jadi anda boleh sama ada melelakannya secara langsung atau menghantarnya ke senarai:
<code class="python"># Option A: Iterate over the iterable for k in ab_strings: print(k) # Option B: Cast to a list ab_strings = list(ab_strings) print(ab_strings)</code>
Kesimpulan
Kedua-dua pemahaman senarai dan fungsi penapis menyediakan cara yang berkesan untuk menapis senarai rentetan berdasarkan kandungan tertentu. Walau bagaimanapun, pemahaman senarai biasanya lebih disukai kerana sintaksnya yang ringkas dan boleh dibaca.
Atas ialah kandungan terperinci Bagaimana untuk Menapis Rentetan yang Mengandungi Subrentetan Tertentu dalam Python?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!