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

时间:2011-03-05 20:08:03

标签: python string

例如:

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

2 个答案:

答案 0 :(得分:17)

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

>>> s[0:0]
''

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

答案 1 :(得分:4)

您可以将"python"视为“空字符串,然后是p,然后是十五个空字符串,接着是y,后跟四十二个空字符串, ......“。

指出,空字符串不占用任何空间,因此没有理由为什么在那里。

可以像这样指定index方法:

  

s.index(t)返回值is[i : i+len(t)]等于t

如果您将空字符串替换为t,则会显示:“返回值i,使s[i:i]等于""”。实际上,根据此规范,值0是正确的返回值。