Menyemak Kehadiran Subsenarai dalam Python
Menentukan sama ada subsenarai wujud dalam senarai yang lebih besar ialah tugas pengaturcaraan biasa. Python menyediakan beberapa kaedah untuk mencapai ini, tetapi satu pendekatan yang amat berguna melibatkan penggunaan penghirisan senarai dan fungsi tersuai.
Mari kita pertimbangkan contoh berikut:
<code class="python">list1 = [1,0,1,1,1,0,0] list2 = [1,0,1,0,1,0,1]</code>
Matlamat kami adalah untuk mencipta fungsi sublistExists(list1, sublist) yang mengembalikan True jika sublist hadir dalam list1 dan False sebaliknya.
Fungsi contains_sublist() di bawah memanfaatkan penghirisan senarai untuk melakukan semakan ini:
<code class="python">def contains_sublist(lst, sublst): n = len(sublst) return any((sublst == lst[i:i+n]) for i in range(len(lst)-n+1))</code>
Fungsi ini berfungsi dengan lelaran melalui lst dan menyemak sama ada sebarang kepingan panjang n (panjang sublst) adalah sama dengan sublst. Ia menggunakan fungsi any() untuk berhenti sebaik sahaja padanan ditemui, menghasilkan kerumitan masa O(m * n) yang cekap, dengan m dan n ialah panjang lst dan sublst, masing-masing.
Contoh Penggunaan:
<code class="python">sublistExists(list1, [1,1,1]) # True sublistExists(list2, [1,1,1]) # False</code>
Dengan melaksanakan fungsi tersuai ini, kami boleh menyemak dengan mudah untuk kehadiran subsenarai dalam senarai yang lebih besar dalam Python.
Atas ialah kandungan terperinci Berikut ialah beberapa pilihan tajuk, dengan mengambil kira format soalan dan kandungan artikel anda: Pendek dan Langsung: * Bagaimana untuk Semak Kehadiran Subsenarai dalam Python? * Adakah Subsenarai Wujud dalam Python?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!