Python 2 & 3, 73 68 58 个字符
基于Nikhil Chelliah的回答 kaiser.se的回答:
>>> t=lambda l,s:''.join(map(chr,l)).find(''.join(map(chr,s)))
>>> t([63, 101, 245, 215, 0], [245, 215])
2
>>> t([24, 55, 74, 3, 1], [24, 56, 74])
-1
Python 3, 41 36 个字符
部分感谢gnibbler:
>>> t=lambda l,s:bytes(l).find(bytes(s))
>>> t([63, 101, 245, 215, 0], [245, 215])
2
>>> t([24, 55, 74, 3, 1], [24, 56, 74])
-1
Haskell,68 64 个字符
OP 指定的参数顺序:
import List;t l s=maybe(-1)id$findIndex id$map(isPrefixOf s)$tails l
正如ehemient指出的那样,我们可以切换参数并将代码减少四个字符:
import List;t s=maybe(-1)id.findIndex id.map(isPrefixOf s).tails