Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Bagaimana untuk Menapis Senarai Rentetan yang Mengandungi Subrentetan Tertentu dalam Python?

Bagaimana untuk Menapis Senarai Rentetan yang Mengandungi Subrentetan Tertentu dalam Python?

Linda Hamilton
Linda Hamiltonasal
2024-10-20 06:14:29478semak imbas

How to Filter a List of Strings Containing a Specific Substring in Python?

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!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn