MST

星途 面试题库

面试题:Python复杂数据结构中的列表索引错误防范

有一个嵌套列表 `nested_list = [[1, 2, 3], [4, 5, 6], [7, 8, 9]]`,现在需要编写一个函数,接收一个二维索引 `(i, j)`,在不引发索引错误的前提下,返回 `nested_list[i][j]` 的值。若索引越界,返回一个特定的错误提示信息。并阐述在处理这种复杂数据结构时,避免索引错误的关键思路和方法。
19.6万 热度难度
编程语言Python

知识考点

AI 面试

面试题答案

一键面试
nested_list = [[1, 2, 3], [4, 5, 6], [7, 8, 9]]

def get_value(nested_list, index):
    i, j = index
    if 0 <= i < len(nested_list) and 0 <= j < len(nested_list[i]):
        return nested_list[i][j]
    else:
        return "索引越界"

避免索引错误的关键思路和方法:

  1. 边界检查:在访问嵌套列表的元素之前,确保外层索引 i0len(nested_list) - 1 之间,内层索引 j0len(nested_list[i]) - 1 之间。
  2. 使用异常处理:在Python中,可以使用 try - except 语句捕获 IndexError 异常,但明确的边界检查可以使代码逻辑更清晰,也能提供更具体的错误信息。
  3. 提前确定数据结构的维度:在处理复杂数据结构前,明确其维度信息,以便合理地设计索引逻辑。例如,对于二维列表,知道它的行数和每行的列数。