Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Bagaimana untuk Cekap Menentukan Kehadiran Sublist dalam Senarai Python?

Bagaimana untuk Cekap Menentukan Kehadiran Sublist dalam Senarai Python?

Linda Hamilton
Linda Hamiltonasal
2024-10-26 18:01:03252semak imbas

How to Efficiently Determine Sublist Presence in a Python List?

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!

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