如何有效地确定 Python 列表中子列表的存在?

Linda Hamilton
发布: 2024-10-26 18:01:03
原创
252 人浏览过

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
作者最新文章
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责声明 Sitemap
PHP中文网:公益在线PHP培训,帮助PHP学习者快速成长!