MST
星途 面试题库

面试题:Python中列表索引错误之越界问题

在Python中,给定列表`my_list = [10, 20, 30, 40]`,请编写代码尝试访问可能导致索引错误的位置,并解释为什么会出现索引错误,如何避免。
23.0万 热度难度
编程语言Python

知识考点

AI 面试

面试题答案

一键面试
my_list = [10, 20, 30, 40]
try:
    # 尝试访问导致索引错误的位置,比如超出列表长度的索引
    value = my_list[4] 
except IndexError:
    print("出现索引错误,因为访问的索引超出了列表的有效范围。")

# 解释:
# 列表的索引是从0开始的,对于长度为n的列表,有效索引范围是0到n - 1。
# 在上述代码中,列表my_list长度为4,有效索引是0, 1, 2, 3 。
# 当尝试访问my_list[4]时,由于4超出了有效索引范围,就会引发IndexError。

# 避免索引错误的方法:
# 1. 确保访问的索引在有效范围内。可以在访问前检查索引值是否小于列表长度,例如:
index = 4
if index < len(my_list):
    value = my_list[index]
else:
    print("索引超出范围")

# 2. 使用try - except块捕获IndexError异常,如上面代码中的示例,这样可以优雅地处理可能出现的索引错误,而不是让程序崩溃。