Menapis Rentetan dalam Senarai Berdasarkan Subrentetan
Memandangkan senarai rentetan, bagaimana kita boleh menapisnya untuk memasukkan hanya rentetan yang mengandungi subrentetan tertentu? Sebagai contoh, jika kami mempunyai senarai ['a', 'ab', 'abc', 'bac'], kami ingin mendapatkan senarai ['ab', 'abc'].
Penyelesaian Menggunakan Pemahaman Senarai
Satu kaedah yang cekap melibatkan penggunaan pemahaman senarai Python:
<code class="python">lst = ['a', 'ab', 'abc', 'bac'] result = [k for k in lst if 'ab' in k]</code>
Kefahaman senarai berulang pada setiap rentetan k dalam lst dan menyemak sama ada subrentetan 'ab ' wujud di dalamnya. Jika benar, k ditambah pada senarai hasil.
Pendekatan Alternatif Menggunakan Penapis
Sebagai alternatif, kita boleh menggunakan fungsi penapis untuk mencapai hasil yang sama:
<code class="python">lst = ['a', 'ab', 'abc', 'bac'] result = list(filter(lambda k: 'ab' in k, lst))</code>
Di sini, fungsi penapis mengambil fungsi lambda yang menyemak kehadiran 'ab' dalam setiap rentetan. Peulang yang terhasil kemudiannya ditukar kepada senarai menggunakan senarai.
Kesimpulan
Kedua-dua pemahaman senarai dan fungsi penapis menawarkan cara yang berkesan untuk menapis senarai rentetan berdasarkan spesifik kandungan. Pilihan antara dua kaedah bergantung pada keutamaan peribadi dan kebolehbacaan kod.
Atas ialah kandungan terperinci Bagaimana untuk Menapis Rentetan dalam Senarai Berdasarkan Substrings?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!