Rumah >pembangunan bahagian belakang >Tutorial Python >Bagaimanakah Saya Boleh Mencari Rentetan yang Mengandungi Substring dalam Senarai Python dengan Cekap?

Bagaimanakah Saya Boleh Mencari Rentetan yang Mengandungi Substring dalam Senarai Python dengan Cekap?

DDD
DDDasal
2024-12-07 22:17:13846semak imbas

How Can I Efficiently Find Strings Containing a Substring in a Python List?

Mengenal pasti Subrentetan dalam Senarai Rentetan

Apabila berhadapan dengan senarai rentetan, anda mungkin menghadapi keperluan untuk mencari item yang berkongsi subrentetan tertentu. Untuk mencapai matlamat ini, anda boleh menggunakan fungsi terbina dalam Python untuk pemadanan rentetan yang cekap.

Dalam senario yang diberikan, di mana kita mempunyai senarai rentetan (xs) dan subrentetan sasaran ('abc'), yang mudah semak kehadiran subrentetan dalam senarai mungkin tidak mencukupi. Untuk mengesan semua kejadian dengan tepat, termasuk padanan separa seperti 'abc-123', kami memerlukan pendekatan yang lebih halus.

Untuk menentukan sama ada sebarang rentetan dalam senarai mengandungi subrentetan, fungsi any() boleh digunakan:

if any("abc" in s for s in xs):
    ...

Ungkapan ini mengembalikan Benar jika sekurang-kurangnya satu rentetan dalam xs mengandungi subrentetan 'abc'. Gelung for berulang melalui setiap rentetan dalam xs, menyemak kehadiran subrentetan menggunakan operator dalam.

Selain itu, untuk mendapatkan semula senarai semua rentetan yang sepadan dengan kriteria subrentetan, pemahaman senarai boleh digunakan:

matching = [s for s in xs if "abc" in s]

Ungkapan ini mencipta senarai baharu, padanan, yang mengandungi hanya rentetan daripada xs yang mengandungi subrentetan 'abc'.

Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Mencari Rentetan yang Mengandungi Substring dalam Senarai Python dengan Cekap?. 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