为什么每个字符串都有空字符串?

问题描述:

例如:为什么每个字符串都有空字符串?

>>> s = 'python' 
>>> s.index('') 
0 
>>> s.index('p') 
0 

这是因为长度为0的中'python'从索引0开始的子字符串是等于空字符串:

>>> s[0:0] 
'' 

当然子串的长度为零的任何字符串都等于空字符串。

你可以看到"python"为“空字符串,然后是p,其次是十五组空字符串,然后是y,其次是42空字符串,...”。

要点是,空字符串不占用任何空间,所以没有理由为什么它应该不是在那里。

index方法可以这样指定:

s.index(t)返回一个值i这样s[i : i+len(t)]如果替换为空字符串t等于t

,这写着:“返回值i,使得s[i:i]等于""“。实际上,根据此规范,值0是正确的返回值。