如何在Python多维列表的Element_TO()元素后插入MAIN元素
多维列表指定位置插入元素解决方案
问题原因
你的原代码存在两处核心错误:
- 插入对象错误:你调用了最外层列表
eg_list的insert方法,实际需要插入到存放'Element_TO()'的内层子列表eg_list[i][j][1]中 - 插入索引错误:
list.insert()的第一个参数为插入位置的索引,你编写的[i][j][1][k]属于无效语法,你需要在匹配到的元素后方插入,所以索引应为k+1
修正后代码
for i in range(len(eg_list)): for j in range(len(eg_list[i])): inner_list = eg_list[i][j][1] # 反向遍历避免插入元素导致的索引偏移问题,适配所有场景 for k in range(len(inner_list) - 1, -1, -1): if inner_list[k] == 'Element_TO()': inner_list.insert(k + 1, 'MAIN')
说明
如果你的场景确定不会出现连续的'Element_TO()'元素,也可以用正向遍历,反向遍历是更稳妥的通用写法,可以完全避免插入元素后列表长度变化导致的索引错位问题。
内容的提问来源于stack exchange,提问作者SG9
相关产品推荐
相关产品推荐

