如何在多个实例的python上找到特定字符的索引?
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何在多个实例的python上找到特定字符的索引?相关的知识,希望对你有一定的参考价值。
我应该编写一个具有三个参数的函数,然后它基本上必须在第一个参数中找到第三个参数的实例,然后它应该在第三个参数之后返回第二个参数的第一个实例。
例:
print(find_instance_character(everyone, e, v))
它应该返回索引2,因为第一个e出现在我们的第三个参数为1之前,所以函数必须在第三个参数之后找到第二个参数的实例。
我在想我会在这里使用切片或范围,但我不知道用户输入的第一个参数的长度。
答案
首先,您需要输入字符串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。
另一答案
尝试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
以上是关于如何在多个实例的python上找到特定字符的索引?的主要内容,如果未能解决你的问题,请参考以下文章
Scintilla:如何在给定特定字符位置的情况下找到字节位置
如何匹配并返回字符串的多个实例,其中单个撇号可以包含在任何索引中?