嵌套列表第五元素加1遇索引越界等问题求助
解决方案:为符合条件的子列表第五个元素加1
直接通过类型判断和长度检查规避索引越界问题,代码如下:
list_1 = [[160,137,99,81,78,60],[132,131,131,127,124,123],'none',[99,95,80,78]] for item in list_1: # 过滤非列表元素 if isinstance(item, list): # 确保子列表有至少5个元素(索引4对应第五个元素) if len(item) >= 5: item[4] += 1 print(list_1)
代码逻辑说明
- 遍历列表中的每个元素,用
isinstance(item, list)排除非列表类型的元素(比如第三个元素'none') - 对列表类型的元素,检查长度是否≥5:Python列表索引从0开始,第五个元素对应索引4,长度≥5才能保证该索引存在
- 仅当两个条件都满足时,才对第五个元素执行加1操作,不会修改不符合条件的元素,也不会触发索引越界错误
运行结果
执行后原列表会被修改为:
[[160, 137, 99, 81, 79, 60], [132, 131, 131, 127, 125, 123], 'none', [99, 95, 80, 78]]
内容的提问来源于stack exchange,提问作者Max
相关产品推荐
相关产品推荐

