字符串索引0歧义

时间:2016-06-25 03:35:01

标签: python

为什么''是所有字符串的子字符串?

>>> string = 'string'

>>> '' in string
True

为什么它在索引0

>>> string.index('')
0

为什么索引0不明确?

>>> string.index('s')
0

>>> string[string.index('')]
's'

2 个答案:

答案 0 :(得分:3)

string.index(sub)

documentation表示string.index('')返回第一次出现的子字符串,这就是0返回from scipy import io as sio data= "file.mat" output= sio.loadmat(data) 而非某些其他索引或特殊返回值的原因。< / p>

答案 1 :(得分:2)

string.index(substring)返回子串开始的索引位置,如果它不是原始stirng的一部分,则返回-1。

根据定义,空字符串是所有字符串的子集,即所有字符串都以空字符串开头,string.index(&#39;&#39;)返回0,即字符串的第一个索引。

string [index]返回索引位置的字符,在这种情况下,由空字符串的begin索引返回0