1、用list接收两个字符串:
haystack = "gsadbutsad" li_1 = list(haystack) needle = "sadt" li_2 = list(needle)
2、遍历list_1若有等于list_2[0]则开始验证:
for i in range(len(li_1)): if li_1[i] == li_2[0]: for j in range(len(li_2)): if li_1[j+i] == li_2[j]:
3、而后遍历list_2观察len(list_2)下的他们是否一一对应并用tag标签进行接收:
for j in range(len(li_2)): if li_1[j+i] == li_2[j]: tag += 1
4、判断tag与len(list_2)
if tag == len(li_2): print('匹配成功,第一个匹配项的下标是%s ,所以返回%s' % (tag-len(li_2), tag-len(li_2))) break else: print('%s没有在%s中出现,所以输出-1' % (needle, haystack)) break 完整代码为:
if __name__ == '__main__':
haystack = "gsadbutsad"
li_1 = list(haystack)
needle = "sadt"
li_2 = list(needle)
tag = 0
for i in range(len(li_1)):
if li_1[i] == li_2[0]:
for j in range(len(li_2)):
if li_1[j+i] == li_2[j]:
tag += 1
if tag == len(li_2):
print('匹配成功,第一个匹配项的下标是%s ,所以返回%s' % (tag-len(li_2), tag-len(li_2)))
break
else:
print('%s没有在%s中出现,所以输出-1' % (needle, haystack))
break
else:
continue