在 python 中使用数组进行序列搜索

Sequence search using arrays in python

所以,我有以下 2 个数组:

a = [1,2,3]
b = [1,2,4,1,2,5,1,3,2,4,5,11,23,24,51,72,5,91,19,0,1,2,4,2,3,45,3,2,1,2,6,7,56,78,354,3,2,1,0,111,15,1,2,3,5,6,4,7,3,8,910,678]

我需要使用 Python 在数组 B 中搜索数组 A(以完全相同的顺序)。我尝试了两种不同的方法来解决这个问题。第一种方法导致索引错误,我根本无法解决。第二种方法以二进制答案 True/False 的形式得到了预期的结果。我现在没主意了。请帮助我以合适的方式解决这个问题。

#one of the attempts that i made
from collections import Counter
a = [1,2,3]
b = [1,2,4,1,2,5,1,3,2,4,5,11,23,24,51,72,5,91,19,0,1,2,4,2,3,45,3,2,1,2,6,7,56,78,354,3,2,1,0,111,15,1,2,3,5,6,4,7,3,8,910,678]
print (a,b)

def string_conv(array):
    string = ''
    for i in range(len(array)):
        string += str(array[i])
    return string

a = string_conv(a)
b = string_conv(b)

print (a,b)

def array_check(string, substring):
    c = Counter(string)
    for char in substring:
        if c[char] > 0:
            c[char] -= 1
        else:
            return False
    return True

print (array_check(a, b))

可能有更优雅的方法,但这应该有效:

for i in range(len(b) - len(a)):
    for j in range(len(a)):
        if b[i + j] == a[j]:
            if j == len(a) - 1:
                print("Found it!")
            else:
                continue
        else:
            break