Python错误 - 列表

时间:2016-12-23 12:36:22

标签: python python-3.x

我正在尝试编写一个通用程序,以查看列表B是否包含在更大的列表A中,但是我无法在下面的代码中返回True,如果这是情况下。

n = len(A)
m = len(B)

any( B == A[j:j+m-1] for j in range(n-m+1) )

非常感谢任何帮助!

2 个答案:

答案 0 :(得分:4)

切片L[a:b]的长度为b-a,这就是Python切片之美(独占最后一个元素)。

因此A[j:j+m-1]的长度为m-1,因此它不能等于B,因为其长度为m

答案 1 :(得分:2)

A[j:j+m-1]会返回比B短1的列表。将其更改为A[j:j+m]