学习目标:
自定义index方法
学习内容:
Python中字符串的index方法,用于从列表中找出某个值第一个匹配项的索引位置,是非常好用的一个方法,但在面试的时候不能直接用该方法,所以我们就自定义该方法。
代码如下:
def strStr(haystack: str, needle: str) -> int:
# 自定义实现find或者index方法
def finds(haystacks: str, needles: str):
h, n, index = len(haystacks), len(needles), 0
# 判断目标字符串needles是否在haystacks中,如果不在,返回-1
if needles not in haystacks:
return -1
else:
# 当index小于haystacks的长度的时候
while index < h:
# 字符串切分,切分长度和needles相同的一部分来判断是否相同,如果相同,就返回index
if haystacks[index:(index + n)] == needles:
return index
# 如果不相同,就找下一个
index += 1
if needle == '':
return 0
return finds(haystack, needle)
if __name__ == '__main__':
a, b = "heh", "h"
print(strStr(a, b))
下图是我们自定义方法的测试结果
下图是index方法的测试结果
结果:
由上图可见,我们自定义的方法和index的相比,也算是各有千秋