返回s中第一次出现ch的索引

时间:2016-10-17 06:16:50

标签: python

给定字符串s和单字符串ch,返回s中第一次出现ch的索引。

例如,('abc', 'b')应该返回1。 如果ch不在s,请返回-1

不允许使用字符串方法。

任何人都可以帮忙吗?

2 个答案:

答案 0 :(得分:1)

创建一个类似于str.index()的函数,该函数返回索引以查找传递的字符的第一个匹配项。如果不匹配,则引发ValueError异常。例如:

def get_index(my_string, my_char):
    for i, s in enumerate(my_string):
        if s == my_char:
            return i
    else:
        raise ValueError

示例运行:

>>> get_index('abcd', 'c')
2
>>> get_index('abcd', 'z')
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "<stdin>", line 6, in get_index
ValueError

答案 1 :(得分:0)

请查看enumerate个文档,请关于stackoverflow的下一个问题阅读this

def find_ch(s, ch):
    for i, c in enumerate(s):
        if ch == c:
            return i
    return -1
print(find_ch('abc', 'd'))
print(find_ch('abc', 'b'))
>> -1
>> 1