面试题答案
一键面试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 "索引越界"
避免索引错误的关键思路和方法:
- 边界检查:在访问嵌套列表的元素之前,确保外层索引
i
在0
到len(nested_list) - 1
之间,内层索引j
在0
到len(nested_list[i]) - 1
之间。 - 使用异常处理:在Python中,可以使用
try - except
语句捕获IndexError
异常,但明确的边界检查可以使代码逻辑更清晰,也能提供更具体的错误信息。 - 提前确定数据结构的维度:在处理复杂数据结构前,明确其维度信息,以便合理地设计索引逻辑。例如,对于二维列表,知道它的行数和每行的列数。