为什么每个字符串都有空字符串?
例如:
>>> s = 'python'
>>> s.index('')
0
>>> s.index('p')
0
2 个回答
6
你可以把 "python"
看作是“一个空字符串,后面跟着一个 p
,再后面是十五个空字符串,接着是一个 y
,然后是四十二个空字符串,……”。
重点是,空字符串不占任何空间,所以它在这里存在是完全合理的。
index
方法可以这样理解:
s.index(t)
返回一个值i
,使得s[i : i+len(t)]
等于t
如果你把空字符串代入 t
,那么这句话可以理解为:“返回一个值 i
,使得 s[i:i]
等于 ""
”。而实际上,值 0
确实是符合这个定义的正确返回值。
19
这是因为在'python'
这个字符串中,从索引0开始的长度为0的子字符串是空字符串:
>>> s[0:0]
''
当然,任何字符串的长度为0的子字符串都是空字符串。