首頁  >  文章  >  後端開發  >  如何有效地確定 Python 清單中子清單的存在?

如何有效地確定 Python 清單中子清單的存在?

Linda Hamilton
Linda Hamilton原創
2024-10-26 18:01:03252瀏覽

How to Efficiently Determine Sublist Presence in a Python List?

確定Python 清單中是否存在子清單

要檢查子清單是否存在於較大清單中,可以利用函數式程式設計的強大功能在Python中。這是一個完成此任務的簡潔函數:

<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>

該函數的工作原理是迭代較大的列表lst,從索引i 開始,並將長度為n(子列表的長度)的切片與子列表進行比較子列表。如果這些切片中的任何一個與 sublst 匹配,則函數會傳回 True。否則,它會傳回 False。

考慮以下範例:

<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>

此函數的運行時間複雜度為O(m*n),其中m 是較大列表的長度,n 是子列表的長度。它利用any()函數在第一次匹配時有效退出,確保計算效率。

以上是如何有效地確定 Python 清單中子清單的存在?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn