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

Linda Hamilton
發布: 2024-10-26 18:01:03
原創
323 人瀏覽過

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

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板