面试题答案
一键面试my_list[5]
的情况:- 会抛出
IndexError
异常。 - 原因是在Python中,列表的索引是从0开始的。对于列表
my_list = [1, 2, 3, 4, 5]
,有效索引范围是0到4(因为列表长度为5)。当试图访问my_list[5]
时,这个索引超出了列表的有效范围,所以会引发IndexError
异常。
- 会抛出
my_list[-6]
的情况:- 同样会抛出
IndexError
异常。 - 原因是负索引是从列表末尾开始计数的,
-1
表示最后一个元素,-2
表示倒数第二个元素,依此类推。对于长度为5的列表my_list
,有效的负索引范围是-1
到-5
。-6
超出了这个有效范围,所以也会引发IndexError
异常。
- 同样会抛出
- 捕获并处理错误的代码示例:
my_list = [1, 2, 3, 4, 5]
try:
# 尝试访问可能会引发IndexError的索引
value = my_list[5]
print(value)
except IndexError:
print("索引超出范围,请检查索引值。")
在上述代码中,使用 try - except
块来捕获 IndexError
异常。当 try
块中的代码引发 IndexError
异常时,程序会跳转到 except
块并执行其中的代码,打印出错误提示信息。这样就可以优雅地处理可能出现的索引越界错误。