確定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中文網其他相關文章!