Python列表索引越界错误:嵌套列表索引取值异常排查
解决列表索引越界问题
你遇到的index list out of range错误,核心原因是并非所有子列表都包含7个元素——你给出的示例子列表长度都是7,但“以此类推”的后续子列表里,肯定存在长度不足4的项(索引从0开始,索引3对应第4个元素)。
先排查异常子列表
运行这段代码,找出长度不符合要求的子列表:
for idx, item in enumerate(property_lists): if len(item) < 7: print(f"第{idx}个子列表异常:{item},长度为{len(item)}")
两种解决方案
- 跳过异常子列表:如果不想修改数据源,直接过滤掉长度不足的子列表以避免报错:
bedrooms = [item[3] for item in property_lists if len(item) >= 4]
- 修正数据源:如果需要所有子列表都参与提取,得先补全那些缺失元素的子列表,或者排查生成
property_lists的逻辑,找出短子列表的产生原因。
内容的提问来源于stack exchange,提问作者Curious Student
相关产品推荐
相关产品推荐

