Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Bagaimana untuk Memeriksa dengan Cekap sama ada String Mengandungi Elemen daripada Senarai dalam Python?

Bagaimana untuk Memeriksa dengan Cekap sama ada String Mengandungi Elemen daripada Senarai dalam Python?

Linda Hamilton
Linda Hamiltonasal
2024-11-06 18:28:02986semak imbas

How to Efficiently Check if a String Contains an Element from a List in Python?

Menyemak Kewujudan Elemen Rentetan dalam Senarai dalam Python

Soalan ini mencari kaedah yang elegan untuk menentukan sama ada rentetan mengandungi elemen daripada yang ditentukan senarai tanpa menggunakan gelung for. Kod berikut menunjukkan isu:

<code class="python">extensionsToCheck = ['.pdf', '.doc', '.xls']

for extension in extensionsToCheck:
    if extension in url_string:
        print(url_string)</code>

Percubaan pengguna untuk menggunakan operator OR logik, seperti dalam C/C , gagal memberikan hasil yang diingini.

Penyelesaian Elegan Menggunakan Penjana dan Mana-mana

Penyelesaian yang lebih canggih memanfaatkan penjana dan sebarang fungsi, yang menilai kepada Benar sebaik sahaja mana-mana elemen dalam senarai ditemui dalam rentetan:

<code class="python">if any(ext in url_string for ext in extensionsToCheck):
    print(url_string)</code>

Dalam kod ini, ungkapan penjana menghasilkan satu siri nilai boolean yang menunjukkan sama ada setiap elemen dalam extensionsToCheck wujud dalam url_string. Mana-mana fungsi kemudian mengembalikan True jika mana-mana nilai boolean ini adalah True.

Berhati-hati Apabila Menyemak Kedudukan Tamat

Adalah penting untuk ambil perhatian bahawa penyelesaian ini tidak mengambil kira kedudukan rentetan yang sepadan dalam url_string. Sebagai contoh, jika senarai mengandungi .com dan rentetan yang sedang diperiksa ialah example.company.com, penyelesaiannya akan mengembalikan True walaupun .com muncul di tengah rentetan.

Jika lokasi tepat bagi rentetan padanan adalah kebimbangan, seperti yang sering berlaku dengan URL, pertimbangkan untuk menggunakan penyelesaian yang disediakan oleh @Wladimir Palant, yang melibatkan pemeriksaan sambungan fail dalam konteks URL.

Atas ialah kandungan terperinci Bagaimana untuk Memeriksa dengan Cekap sama ada String Mengandungi Elemen daripada Senarai 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