【发布时间】:2013-11-23 05:53:32
【问题描述】:
find('asdf','') 在'asdf' 中找到一个空字符串,因此它返回0。
同样,find('asdf','',3) 开始在索引位置3 处搜索字符串,因此返回3。
由于最后一个索引是3,所以find('asdf','',4) 应该返回-1,但它返回4,并且只有在起始索引大于或等于(last_index)+2 时才开始返回-1。为什么会这样?
【问题讨论】:
-
我不认为这是 stackoverflow.com/questions/10392054/… 的副本实际上这个问题显示的行为与我的问题完全相反。
-
那个问题的答案就是你的问题的答案,即:“最后一个位置是在字符串的最后一个字符之后”
-
@BrenBam 是的,我读到了,但问题是如果我先执行
k='asdf',然后在字符串的最后一个索引之后执行k[4],则会出现超出范围的错误。 -
试试
k[4:4]。由于您正在搜索零长度字符串,因此您应该采用零长度切片。
标签: python python-2.7