如何在多个实例的python上找到特定字符的索引?

问题描述 投票:-2回答:2

我应该编写一个具有三个参数的函数,然后它基本上必须在第一个参数中找到第三个参数的实例,然后它应该在第三个参数之后返回第二个参数的第一个实例。

例:

print(find_instance_character(everyone, e, v))

它应该返回索引2,因为第一个e出现在我们的第三个参数为1之前,所以函数必须在第三个参数之后找到第二个参数的实例。

我在想我会在这里使用切片或范围,但我不知道用户输入的第一个参数的长度。

python indexing range
2个回答
0
投票

首先,您需要输入字符串print(find_instance_character('everyone', 'e', 'v'))

我会用find来获取第一个c的位置。然后拼接字符串并再次使用find来获取第一个b相对于第一个c出现的位置。添加这些给出了a中第一个c之后的第一个b的绝对位置。

def find_instance_character(a,b,c):
    loc = a.find(c)
    return loc + a[loc:].find(b)

此外,如果找不到某个字符,这个添加会搞乱,因为find会返回-1。要解决此问题,您必须使用if条件来检查两个find()调用是否返回-1。


0
投票

尝试find(),它返回字符串中指定的第一个字符索引。

str.find(sub[, start[, end]])

sub:必需。搜索的字符串。

开始:可选。搜索开始位置。

结束:可选。搜索结束位置。

def find_instance_character(s, a, b):
    return s.find(a, s.find(b))
print(find_instance_character("everyone", "e", "v"))
# 2
© www.soinside.com 2019 - 2024. All rights reserved.