这段代码有list index out of range的报错,要怎么改
时间: 2024-10-28 13:12:13 浏览: 9
List index out of bounds(-1)错误解决办法
这段代码在 `for` 循环中使用 `[i][1]` 访问列表元素时可能会导致 "list index out of range" 错误。当 `i` 的值超过了当前子列表的长度时,尝试访问超出范围的索引就会引发这种错误。为避免这种情况,你需要确保不会访问超过子列表最后一个元素的索引。
以下是修正后的代码:
```python
list_student = [["001", "李元芳", 19], ["002", "刘禅", 20], ["003", "张三丰", 18]]
list_student.append(["004", "柯镇恶", "19"])
list_student.append(["006", "十三郎", "20"])
list_student.insert(4, ["005", "唐涤生", 20])
# 新增检查索引是否合法
for sublist in list_student:
if len(sublist) > 0: # 验证子列表非空
for i in range(len(sublist)):
print(sublist[i][1]) # 更改为range(len(sublist)),保证不会越界
```
现在,循环只会在有效范围内访问元素,从而避免了 "list index out of range" 错误。
阅读全文