這是我的職能目標(biāo):定義一個過程,find_last將兩個字符串(一個搜索字符串和一個目標(biāo)字符串)作為輸入,并返回搜索字符串中目標(biāo)字符串出現(xiàn)或-1沒有出現(xiàn)的最后位置。到目前為止,這是我的功能: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,但是我知道有一個更好的方法可以做到這一點(diǎn)。
2 回答

慕運(yùn)維8079593
TA貢獻(xiàn)1876條經(jīng)驗(yàn) 獲得超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)并在調(diào)用方法中檢查-1并正確處理。
不能抗拒引用XKCD的這篇很棒的文章
添加回答
舉報(bào)
0/150
提交
取消