这是我的功能目标:
定义一个过程,
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
Run Code Online (Sandbox Code Playgroud)
代码返回我正在寻找的答案return find - 1,但我知道有更好的方法去做这件事.
任何帮助将不胜感激!
你为什么不用rfind?
>>> d = "ball foo ball"
>>> f = "ball"
>>> d.rfind(f)
12
Run Code Online (Sandbox Code Playgroud)
所以你的方法成为1班轮:)
def find_last(target, search):
return target.rfind(search)
Run Code Online (Sandbox Code Playgroud)
您可以返回target.rfind(search)并在调用方法中检查-1并正确处理.
无法抗拒引用XKCD的这篇精彩作品

| 归档时间: |
|
| 查看次数: |
89 次 |
| 最近记录: |