我想在字符串中找到字母的最后一个实例的索引。代码应该带一个字符串和一个字符。例如,如果我写("hello", "l")
,我应该得到3.相反,我得到-4。我知道3和-4是相同的,这取决于你开始计算的地方,但我想得到3.这是我的尝试:
def find(string, ch):
index = 0
while index < len(string):
if string[index] == ch:
return index
index = index - 1
return -1
谢谢!
答案 0 :(得分:6)
使用标准rindex
方法:
def find(s, ch):
return s.rindex(ch)
答案 1 :(得分:2)
您的代码逻辑错误。试试这个:
index = len(string) - 1
while index > 0:
if string[index] == ch:
return index
index -= 1
return -1
答案 2 :(得分:1)
你正在重新发明轮子。
my_string.rfind(char_or_substring)
另外,不要为变量string
命名。你用相同的名称遮蔽了python模块。
答案 3 :(得分:1)
def find(string, ch):
index = -1
for i in range(len(string)):
if string[i] == ch: index = i
return index
看看字符串。找到字符后,再更新索引值。