Python自定义index方法

学习目标:

自定义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的相比,也算是各有千秋

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

单手提煤气罐

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值