检查列表是否以另一个列表的元素开头

waz*_*ari 8 python list

如果列表的开头恰好是另一个列表的元素,那么检查的最简单(最pythonic方式)是什么?请考虑以下示例:

li = [1,4,5,3,2,8]

#Should return true
startsWithSublist(li, [1,4,5])

#Should return false
startsWithSublist(list2, [1,4,3])

#Should also return false, although it is contained in the list
startsWithSublist(list2, [4,5,3])
Run Code Online (Sandbox Code Playgroud)

当然我可以迭代列表,但我想有一种更简单的方法.两个列表永远不会包含两次相同的元素,第二个列表将始终比第一个列表更短或更长.要匹配的列表长度是可变的.

如何在Python中执行此操作?

Jos*_*idt 15

使用列表切片:

>>> li = [1,4,5,3,2,8]
>>> sublist = [1,4,5]
>>> li[:len(sublist)] == sublist
True
Run Code Online (Sandbox Code Playgroud)