在 Python 中確定子清單的存在
目前的任務涉及建立一個函數來決定較大清單中是否存在子清單。考慮以下範例:
<code class="python">list1 = [1,0,1,1,1,0,0] list2 = [1,0,1,0,1,0,1] # Expected results: sublistExists(list1, [1,1,1]) == True sublistExists(list2, [1,1,1]) == False</code>
解:
利用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) 並將其子列表(長度等於子列表的長度n)與給定的子列表(sublst) 進行比較。如果找到匹配項,則函數將傳回 True。否則,在 O(m*n) 次操作之後(其中 m 是 lst 的長度,n 是 sublst 的長度),函數將傳回 False。
這種方法利用了 Python 高效的列表切片和函數式程式設計構造,提供了一種簡潔有效的方法來確定子列表的存在。
以上是以下是一些問題格式的標題選項,抓住了文章的精髓: * 如何在Python中高效率判斷子清單是否存在? * Python 子列表檢測:使用的簡潔解決方案的詳細內容。更多資訊請關注PHP中文網其他相關文章!