Padanan Rentetan Elegan dengan Elemen daripada Senarai dalam Python
Dalam Python, menyemak sama ada rentetan mengandungi elemen daripada senarai boleh dicapai menggunakan gelung for:
<code class="python">extensionsToCheck = ['.pdf', '.doc', '.xls'] for extension in extensionsToCheck: if extension in url_string: print(url_string)</code>
Walau bagaimanapun, terdapat cara yang lebih ringkas untuk melaksanakan tugas ini tanpa gelung for. Pertimbangkan pendekatan berikut yang meniru semakan gaya "C/C", tetapi dengan sintaks Python yang betul:
<code class="python">if any(ext in url_string for ext in extensionsToCheck): print(url_string)</code>
Penyelesaian ini menggunakan ungkapan penjana untuk mencipta jujukan nilai Benar/Salah, di mana setiap nilai menyemak sama ada sambungan semasa daripada senarai ditemui dalam rentetan URL. Fungsi any() kemudian menilai jujukan ini untuk menentukan sama ada sekurang-kurangnya satu nilai True wujud, menunjukkan bahawa rentetan URL mengandungi elemen daripada senarai.
Tidak seperti penyelesaian sebelumnya, pendekatan ini secara berkesan menamatkan carian lebih awal sekali perlawanan ditemui. Dengan menggunakan ungkapan penjana dan fungsi mana-mana(), kami mencapai kedua-dua ringkasan dan kecekapan dalam kod kami.
Nota: Adalah penting untuk memahami bahawa penyelesaian ini tidak menyatakan lokasi yang tepat di mana rentetan yang sepadan ditemui dalam URL. Jika kedudukan perlawanan itu penting, pertimbangkan penyelesaian yang disediakan oleh @Wladimir Palant, yang merangkumi kedudukan rentetan tertentu.
Atas ialah kandungan terperinci Bagaimanakah Saya Boleh 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!