列表——边界值检查
虽然列表没有固定的大小,Python仍然不允许引用不存在的项。在列表末尾外索引总是错误的,反过来对末尾外赋值也是一样。
>>> L
[123, 'spam', 'NI']
>>> L[99]
...省略错误文本...
IndexError: list index out of range
>>> L[99] = 1
...省略错误文本...
IndexError: list assignment index out of range
这是故意的,因为尝试在列表末尾外赋值通常是错误的(并且在C语言——它并不像Python那样进行那么多错误检查——中这是一个很难处理的错误)。Python报告错误,而不是默默地增长列表作为响应。要增长一个列表,调用列表方法如append
作为代替。