python中的索引器

python中的索引器,python,Python,在上面的代码中,字母e出现在索引9处,因此当我创建与字符串[10:13]等价的字符串[I+1:I+1+lensequence-1]时,它是否应该抛出索引器,因为索引12在字符串中不存在?我不明白为什么必须编写自定义函数来查找子字符串的索引。python的字符串有一个方法索引来实现这一点 e、 g 给你4 顺便说一下,我运行您的代码,它返回not found(未找到)列表切片的工作方式与访问给定索引中的列表值的工作方式不同 列表切片实际上永远不会返回IndexError——在最坏的情况下,它会返回

在上面的代码中,字母e出现在索引9处,因此当我创建与字符串[10:13]等价的字符串[I+1:I+1+lensequence-1]时,它是否应该抛出索引器,因为索引12在字符串中不存在?

我不明白为什么必须编写自定义函数来查找子字符串的索引。python的字符串有一个方法索引来实现这一点

e、 g

给你4


顺便说一下,我运行您的代码,它返回not found(未找到)

列表切片的工作方式与访问给定索引中的列表值的工作方式不同

列表切片实际上永远不会返回IndexError——在最坏的情况下,它会返回[]

s="telephone"
print(s.index("phone"))
Python在字符串中进行测距时不会抛出错误。通过在try块中添加ck=string[i+lensequence]可以实现目标的一种方法

试试这个

def getIndexstring,序列: 对于rangelenstring中的i: 如果字符串[i]==序列[0]: 尝试: 如果索引超出范围,这将导致Indexer错误 ck=字符串[i+lensequence] 如果字符串[i+1:i+1+lensequence-1]==序列[1:]: 返回i 其他: 持续 除索引器外: 打印“数组越界子字符串不存在” 其他: 返回“未找到” printgetIndex'SkyScraster','erss'
显然,它应该,会抛出索引错误我已经尝试过代码,它不会抛出错误。从i到j的s片段被定义为带有索引k的项目序列,因此,基本上在foo[i:j]中,如果i是列表中的索引,而j不是,它会打印从i到列表末尾的所有元素,比如foo[i:]是的,[开始:结束:步骤]是的,我知道我刚开始学习一种内置的方法,所以我只是在尝试很多东西。
s="telephone"
print(s.index("phone"))
foo = []
print(foo[5:12])
# Above prints []