python中字符串的最后一个位置是否在该字符串的最后一个字符之后?
如果是,那是否意味着k='asdf'
然后在索引位置4有''
?如果是这样,为什么k [4]不会返回''
而不是out of range error
。
有人建议我尝试使用k [4:4]来查看这种行为,但我认为切片返回''
因为它没有给出任何要包含的东西,而不是因为存在{{{ 1}}在每个字符串的末尾。如果我做k [300:782],我仍然得到''
但是`find('asdf','',300)'返回-1,所以这应该证实我的信念。
答案 0 :(得分:4)
事实并非如此。 k='asdf'
中的最后一个位置k[3]
为'f'。
在尝试检查不包含任何内容的切片(k[4:4]
或k[300:2345]
或k[6:5]
)时,你也是正确的.python会给你一个空结果。
''
是一个空字符串;它没有返回引号。
@BrenBarn绝对正确find
答案 1 :(得分:0)
Kyle做得很好。我只会添加您可以引用索引为-1的字符串的最后位置。所以在你的例子中,k [-1]产生了' f'正如k [3]产生' f'。