我注意到以下奇怪行为:
>> str_ = '' # empty string
>> str_[0:]
''
>> str_[0]
IndexError: string index out of range
对此有某种推理吗?
我对 slicing 的当前返回值的解释是:
从位置X开始(直到Y,步长为Z),找到
''
。
这显然意味着在指定的时间间隔内没有字符,因此字符串的长度小于(X + 1)个字符。
类似地,人们可以用相同的方式对待索引并说:
在字符串的位置X处有
''
。
这也显然意味着什么也找不到。
但事实并非如此。索引的处理方式不同,我想知道为什么。