列表——边界值检查
虽然列表没有固定的大小,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
作为代替。