MST

星途 面试题库

面试题:Python中列表索引边界问题及处理方式

假设有一个Python列表 `my_list = [10, 20, 30, 40, 50]`,当尝试访问 `my_list[10]` 时会发生什么?如何在代码中优雅地处理这种可能出现的索引越界问题?请给出代码示例。
28.3万 热度难度
编程语言Python

知识考点

AI 面试

面试题答案

一键面试

当尝试访问 my_list[10] 时,会抛出 IndexError 异常,因为列表的有效索引范围是从 0len(my_list) - 1,这里列表长度为 5,而 10 超出了这个范围。

可以使用 try - except 语句优雅地处理这种索引越界问题,示例代码如下:

my_list = [10, 20, 30, 40, 50]
try:
    value = my_list[10]
except IndexError:
    value = None
    print("索引越界,已处理")
print(value) 

也可以通过判断索引是否在有效范围内来避免异常,示例代码如下:

my_list = [10, 20, 30, 40, 50]
index = 10
if 0 <= index < len(my_list):
    value = my_list[index]
else:
    value = None
    print("索引越界,已处理")
print(value)