Menapis Senarai Rentetan Berdasarkan Kandungannya
Memandangkan senarai rentetan, anda mungkin menghadapi keperluan untuk mengekstrak hanya rentetan yang mengandungi subrentetan tertentu. Dalam Python, terdapat beberapa cara yang berkesan untuk melaksanakan operasi penapisan ini.
Menggunakan Pemahaman Senarai
Salah satu pendekatan yang paling mudah dan paling disyorkan ialah menggunakan pemahaman senarai Python yang berkuasa . Pemahaman senarai menyediakan cara yang ringkas dan ekspresif untuk membuat senarai baharu berdasarkan unsur-unsur yang sedia ada. Untuk keperluan khusus anda menapis rentetan yang mengandungi 'ab', anda boleh menggunakan pemahaman berikut:
<code class="python">lst = ['a', 'ab', 'abc', 'bac'] result = [k for k in lst if 'ab' in k]</code>
Pemahaman ini berulang melalui setiap rentetan dalam senarai asal ('a', 'ab', 'abc ', 'bac') dan semak sama ada ia mengandungi subrentetan 'ab'. Jika benar, ia menambah rentetan pada senarai yang terhasil. Ini memberikan anda senarai ditapis yang diingini: ['ab', 'abc'].
Menggunakan Fungsi penapis
Kaedah lain untuk menapis rentetan dalam Python ialah menggunakan fungsi penapis. Fungsi ini mengambil fungsi penapis dan lelaran sebagai argumen dan mengembalikan lelaran yang menghasilkan unsur lelaran yang memenuhi fungsi penapis. Dalam kes anda, anda boleh menggunakan penapis seperti berikut:
<code class="python">lst = ['a', 'ab', 'abc', 'bac'] result = list(filter(lambda k: 'ab' in k, lst))</code>
Fungsi penapis mengambil fungsi tanpa nama (fungsi lambda) sebagai hujah pertamanya, yang menyemak sama ada 'ab' wujud dalam rentetan input. Hujah kedua ialah senarai asal. Hasil penapis ialah iterator, yang kemudiannya dihantar ke senarai menggunakan list(). Sekali lagi, ini menghasilkan senarai ['ab', 'abc'] yang diingini.
Walaupun kedua-dua pemahaman senarai dan fungsi penapis boleh mencapai penapisan yang diingini, pemahaman senarai biasanya diutamakan kerana ringkas dan mudah dibaca, terutamanya untuk tugas penapisan mudah seperti ini.
Atas ialah kandungan terperinci Bagaimana untuk Menapis Senarai Rentetan yang Mengandungi Subrentetan Tertentu dalam Python?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!