为了账号安全,请及时绑定邮箱和手机立即绑定

请帮助我清理我的功能

请帮助我清理我的功能

不负相思意 2021-03-09 14:12:11
这是我的职能目标:定义一个过程,find_last将两个字符串(一个搜索字符串和一个目标字符串)作为输入,并返回搜索字符串中目标字符串出现或-1没有出现的最后位置。到目前为止,这是我的功能:def find_last(target, search):    find = target.find(search, 0)    if find != -1:        targets = target.find(search, find)        while targets != -1:            find = find + 1            targets = target.find(search, find)        return find - 1    else:        return -1该代码返回了我正在寻找的答案return find - 1,但是我知道有一个更好的方法可以做到这一点。
查看完整描述

2 回答

?
一只斗牛犬

TA贡献1784条经验 获得超2个赞

您基本上实现了target.rfind(search)


查看完整回答
反对 回复 2021-03-26
?
慕运维8079593

TA贡献1876条经验 获得超5个赞

你为什么不使用rfind?


>>> d = "ball foo ball"

>>> f = "ball"

>>> d.rfind(f)

12

因此,您的方法将成为1班轮:)


def find_last(target, search):

    return target.rfind(search)

您可以返回target.rfind(search)并在调用方法中检查-1并正确处理。


不能抗拒引用XKCD的这篇很棒的文章

//img1.sycdn.imooc.com//605d84950001bda205160586.jpg

查看完整回答
反对 回复 2021-03-26
  • 2 回答
  • 0 关注
  • 154 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信