我使用递归来迭代字符串的值。当我越过最后一个字符时,它允许我将该索引位置用作空字符串""
而不是给出错误。那是为什么?
myStr = 'test'
print(myStr[4])
产生错误
print(myStr[4:])
不会产生任何错误。
答案 0 :(得分:5)
切片不受内置类型的限制。如果数组索引超出范围,它将自动截断,然后在正确的位置。
答案 1 :(得分:0)
因为数组访问被定义为单个索引超出范围而不是(部分或全部)切片的错误。如果切片的任何部分超出范围,则不会产生任何结果,而是触发错误。
答案 2 :(得分:-1)
尝试使用过大的索引会导致错误。但是,超出范围的切片索引在用于切片时会正常处理。