python - 检查列表是否是子列表

标签 python

我需要检查 list1 是否是 list2 的子列表(正确;如果 list2 中与 list1 相同的每个整数都与 list1 中的索引顺序相同)

def sublist(lst1,lst2):
    for i in range(len(lst1)):
        if lst1[i] not in lst2:
            return False
        for j in range(len(lst2)):
            if (lst1[j] in lst2) and (lst2.index(lst1[i+1]) > lst2.index(lst1[i])):
                return True

任何人都可以帮助我...为什么这不起作用?

最佳答案

检查列表中的所有元素是否都在另一个列表中的一种简单方法是将两者都转换为集合:

def sublist(lst1, lst2):
    return set(lst1) <= set(lst2)

关于python - 检查列表是否是子列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35964155/

相关文章:

python - 比 "try"和 "except"更快的方法? - Python

python - 间接创建对象时如何子类化

python - 使用条件参数创建组合并删除值

python - 在 python 中使用 print 时出现不需要的时间戳

python - 递减范围内的乘积之和

python - 需要正则表达式的帮助来获取强制值之后的任何内容

python - 如何在另一种情况下在 Pandas 中创建滚动窗口

python - PyJWT 引发签名验证失败

python - TypeError : 'in <string>' requires string as left operand, not int with ObjectListView wxPython

python,访问模块外部变量的引用