在 Python 中檢查子清單是否存在
確定子清單是否存在於較大清單中是一項常見的程式設計任務。 Python 提供了多種方法來實現此目的,但一種特別有用的方法涉及利用清單切片和自訂函數。
讓我們考慮以下範例:
<code class="python">list1 = [1,0,1,1,1,0,0] list2 = [1,0,1,0,1,0,1]</code>
我們的目標是建立一個函數sublistExists(list1, sublist) 如果 sublist 存在於 list1 中則傳回 True,否則傳回 False。
下面的contains_sublist() 函數利用列表切片來執行此檢查:
<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 並檢查長度為n(sublst 的長度)的任何切片是否等於sublst。它使用 any() 函數在找到匹配項後立即停止,從而實現高效的 O(m * n) 時間複雜度,其中 m 和 n 分別是 lst 和 sublst 的長度。
用法範例:
<code class="python">sublistExists(list1, [1,1,1]) # True sublistExists(list2, [1,1,1]) # False</code>
透過實作此自訂函數,我們可以輕鬆檢查 Python 中較大清單中是否存在子清單。
以上是以下是一些標題選項,請記住問題格式和文章內容: 簡短而直接: * 如何在 Python 中檢查子清單是否存在? * Python 中是否存在子清單?的詳細內容。更多資訊請關注PHP中文網其他相關文章!