【发布时间】:2016-11-22 18:45:30
【问题描述】:
我有一长串子字符串(接近 16000 个),我想找到重复循环开始/停止的位置。我想出了这段代码作为起点:
strings= ['1100100100000010',
'1001001000000110',
'0010010000001100',
'0100100000011011',
'1001000000110110',
'0010000001101101',
'1100100100000010',
'1001001000000110',
'0010010000001100',
'0100100000011011',]
pat = [ '1100100100000010',
'1001001000000110',
'0010010000001100',]
for i in range(0,len(strings)-1):
for j in range(0,len(pat)):
if strings[i] == pat[j]:
continue
if strings[i+1] == pat[j]:
print 'match', strings[i]
break
break
这种方法的问题是你必须知道 pat 是什么才能搜索它。我希望能够从第一个 n 子列表(在本例中为 3)开始并搜索它们,如果不匹配,则将一个子字符串向下移动到下一个 3,直到它遍历整个列表或找到重复。我相信如果长度足够长(可能是 10 个),它会找到重复而不需要太多时间。
【问题讨论】:
标签: python string list for-loop sequence