【发布时间】:2019-07-19 16:59:15
【问题描述】:
我正在尝试以最有效的方式确定List1=[0,0,0] 是否包含在List2 或List3 中,以及在哪里:
List2=[34, 32, 25, 0, 0, 0, 32] 结果真
List3=[34, 32, 25, 0, 32, 0, 0] 结果错误
我试过set().subset,但它返回True和True,我试过if List1 in List2并得到False
我知道我可以遍历列表并进行值、序列比较,但想知道是否已经有一个函数可以进行这种比较,如果没有,是否可以使用相当简单的 lambda 表达式来完成?
注意:List2 和 List3 可能会更长,这些只是显示差异的简短示例,更准确地说是我在寻找什么
【问题讨论】:
-
如果您知道您的列表很小,您可以执行this 之类的操作,然后检查是否
List1 in allSubArrays(List2)。但通用解决方案可能更好。 -
在 Checking if list is a sublist 问题中选择的答案将表明匹配类型与我正在寻找的匹配类型不同,以及更多答案即使是同一种搜索,也根本没有效率——所以它可能在 2 个标准级别上失败,至少在 1 个标准级别上失败——所以不是那个问题的重复