Menentukan Kehadiran Subsenarai dalam Senarai Python
Untuk menyemak sama ada subsenarai wujud dalam senarai yang lebih besar, seseorang boleh menggunakan kuasa pengaturcaraan berfungsi dalam Python. Berikut ialah fungsi ringkas yang menyelesaikannya:
<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 berfungsi dengan melelakan senarai lst yang lebih besar, bermula pada indeks i, dan membandingkan sepotong panjang n (panjang subsenarai) dengan subsenarai sublst. Jika mana-mana kepingan ini sepadan dengan sublst, fungsi mengembalikan True. Jika tidak, ia mengembalikan Palsu.
Pertimbangkan contoh berikut:
<code class="python">lst1 = [1,0,1,1,1,0,0] lst2 = [1,0,1,0,1,0,1] sublistExists(lst1, [1,1,1]) == True sublistExists(lst2, [1,1,1]) == False</code>
Fungsi beroperasi dalam kerumitan masa O(m*n), dengan m ialah panjang senarai yang lebih besar dan n ialah panjang subsenarai. Ia memanfaatkan fungsi any() untuk keluar dengan cekap pada perlawanan pertama, memastikan kecekapan pengiraan.
Atas ialah kandungan terperinci Bagaimana untuk Cekap Menentukan Kehadiran Sublist dalam Senarai Python?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!