如何在列表(list1)中有效地查找排队元素(list2)?
E.g:
list1 = ['a', 'b', 'c', 'd', 'e', 'f']
list2 = ['d', 'e']
在这种情况下,由于匹配,索引将为3。
实际数据是这样的字符串(实际上,字面上,所有空格都在那里),我打算拆分,并删除空格:
+--head (1)
| +--title (1)
| +--meta (3)
| +--link (14)
| +--script (21)
| +--comment (3)
| +--noscript (1)
| +--iframe (1)
我正在尝试匹配:
+--link (14)
+--script (21)
在真实数据中,索引将在+--link
开始的位置。
答案 0 :(得分:1)
试试这个。也许会工作正常。
def get_sublist_index(list1, list2):
l1, l2 = len(list1), len(list2)
for i in range(l1-l2):
if list1[i:i+l2] == list2:
return i
答案 1 :(得分:0)
如果您想要“+ - link”开始的索引,您只需使用以下内容:
>>> len(s.split('+--link')[0])
269
首先根据+--link
拆分字符串,然后第一个切片的长度是'+ - link'开始的位置的索引!