有没有办法知道元素列表是否在更大的列表中而不使用'in'关键字?

Fit*_*ria 4 python

我想做这个.我有两个python列表,一个比另一个大,我想知道是否有一种方法可以检查较小列表的元素是否在完全相同的顺序中位于大列表中,例如:

small_list = [4,2,5]
big_list = [1,2,5,7,2,4,2,5,67,8,5,13,45]
Run Code Online (Sandbox Code Playgroud)

我尝试使用in关键字,但它没有用:'(

Chr*_*heD 7

def in_list(small, big):
    l_sml = len(small)
    l_big = len(big)
    return any((big[i:i+l_sml]==small for i in xrange(l_big-l_sml+1)))

print in_list([4,2,1], [1,2,3,4,2,1,0,5]) # True
print in_list([1,2,3], [1,2,4])           # False
Run Code Online (Sandbox Code Playgroud)

  • 也许更好用`any()`函数替换`if True in`? (2认同)