在python中的列表中查找子列表的位置

时间:2016-04-14 10:14:24

标签: list matching sublist

例如,我在Python中有两个列表x和y。假设x = [0,1,2,3,4,5,6,7]y = [3,4,5],很明显y是x的子列表,x中子列表y的位置是3。换句话说,我试图获得一个判断列表是否是另一个列表中的子列表的函数。如果是这样,我也想弄清楚子列表的位置。

我不知道是否有任何我可以使用的现成功能。如果没有,有没有人知道如何使用一些有效的方法实现它。

提前感谢您的帮助!

1 个答案:

答案 0 :(得分:1)

x = [0,1,2,3,4,5,6,7]
y = [3,4,5]

occ = [i for i, a in enumerate(x) if a == y[0]]

for b in occ:
      if x[b:b+len(y)] == y:
           print 'YES-- SUBLIST at : ', b
           break
      if len(occ)-1 ==  occ.index(b):
           print 'NO SUBLIST'
           break