Python 检查两个列表中的连续数字

Python 检查两个列表中的连续数字,python,Python,伪代码: A = [1,2,3,4,5,6,7,8,9] B = [4,5,6,7,1,2,6,7,8] count = 0 for i in range(len(A)): for j in range(len(B)): if A[i:i+3] == B[j:j+3]: #check 3 consecutive numbers if are equal count += 1 print x[i:i+3] print co

伪代码:

A = [1,2,3,4,5,6,7,8,9]
B = [4,5,6,7,1,2,6,7,8]

count = 0

for i in range(len(A)):
    for j in range(len(B)):
        if A[i:i+3] == B[j:j+3]: #check 3 consecutive numbers if are equal
            count += 1
            print x[i:i+3]
print count

问题:如果
A[4,5,6]==B[4,5,6]
,然后跳到
A[6,7,8]==B[6,7,8]
,而不是
A[5,6,7]==B[5,6,7]

,我该如何实现

A = [1,2,3,4,5,6,7,8,9]
B = [4,5,6,7,1,2,6,7,8]

count = 0
skip = False #this is a flag variable

for i in range(len(A)):
    for j in range(len(B)):
        if skip:
            skip = False
            continue
        if A[i:i+3] == B[j:j+3]: #check 3 consecutive numbers if are equal
            count += 1
            print x[i:i+3]
            skip = True 


print count

从解释你想要什么开始。我一点也不明白只要检查它是否是
6,7,8
,不要
print
或increment
count
?你为什么不想要[5,6,7]?你知道用这种方法也可以得到小于3的子列表吗?切片长度不是固定的。但它只跳过一个,如果两个列表中都有类似
1,2,3,4,5的序列会怎么样?另外,
x
仍未定义。