Menyemak Kehadiran Subrentetan dalam Senarai Rentetan
Bertujuan untuk mengenal pasti kejadian subrentetan dalam senarai rentetan, kami menghadapi pengehadan di mana semakan subrentetan mudah tidak mencukupi. Seperti yang ditunjukkan dalam contoh yang disediakan, mencari 'abc' dalam senarai:
xs = ['abc-123', 'def-456', 'ghi-789', 'abc-456']
menggunakan ungkapan 'abc' dalam xs gagal menangkap item seperti 'abc-123' dan 'abc-456' yang mengandungi subrentetan 'abc'.
Penyelesaian: Senarai Memanfaatkan Pemahaman
Untuk mengatasi halangan ini, pemahaman senarai menawarkan penyelesaian yang berkuasa. Dengan menggunakan sebarang fungsi, seseorang boleh dengan pantas menentukan kehadiran subrentetan dalam mana-mana item senarai. Coretan kod berikut dengan berkesan mencapai perkara ini:
if any("abc" in s for s in xs): # Perform desired actions
Dalam kes ini, klausa for berulang pada setiap rentetan s dalam senarai xs, menyemak sama ada 'abc' hadir sebagai subrentetan. Jika mana-mana rentetan memenuhi syarat ini, mana-mana fungsi mengembalikan True.
Mengambil Semua Subrentetan Padanan
Sekiranya objektifnya adalah untuk mengekstrak semua rentetan yang mengandungi subrentetan yang ditentukan, senaraikan pemahaman sekali lagi menyediakan penyelesaian yang mudah. Coretan kod berikut memenuhi keperluan ini:
matching = [s for s in xs if "abc" in s]
Di sini, klausa for memilih setiap rentetan yang mengembalikan True untuk kehadiran 'abc' dan menyimpannya dalam senarai padanan. Pendekatan ini mengumpulkan semua item yang dikehendaki ke dalam senarai baharu dengan cekap.
Dengan memanfaatkan keupayaan pemahaman senarai, kami menangani cabaran mengenal pasti kejadian subrentetan dalam senarai rentetan dengan berkesan, membolehkan carian subrentetan yang lebih komprehensif dan tepat.
Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Semak Kehadiran dan Pengambilan Substring dengan Cekap dalam Senarai Rentetan Python?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!