在字符串中查找字母

时间:2016-02-22 12:08:59

标签: python

我想在字符串中找到字母的最后一个实例的索引。代码应该带一个字符串和一个字符。例如,如果我写("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

谢谢!

4 个答案:

答案 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

看看字符串。找到字符后,再更新索引值。