如何基于指定索引批量修改嵌套列表中的元素值
批量修改嵌套列表指定位置元素的高效方法
问题场景
现有嵌套列表:
the_list = [['a','a','a'],['b','b','b'],['b','b','b'],['c','c','c']]
需要将索引列表indexA指定位置的元素改为'hi':
indexA = [(0,2),(1,2),(0,1)]
预期输出:
the_list = [['a', 'hi', 'hi'], ['b', 'b', 'hi'], ['b', 'b', 'b'],['c', 'c', 'c']]
目前采用手动逐个修改的方式,代码如下:
the_list = [['a','a','a'],['b','b','b'],['b','b','b'],['c','c','c']] the_list[0][2] = 'hi' the_list[1][2] = 'hi' the_list[0][1] = 'hi'
高效批量修改方案
只需要遍历索引列表indexA,对每个索引元组对应的位置赋值即可,代码实现如下:
the_list = [['a','a','a'],['b','b','b'],['b','b','b'],['c','c','c']] indexA = [(0,2),(1,2),(0,1)] # 批量处理索引位置赋值 for row_idx, col_idx in indexA: the_list[row_idx][col_idx] = 'hi' # 验证结果 print(the_list)
执行后会直接得到预期的输出,这种方法无需手动逐个编写赋值语句,不管indexA包含多少个索引,都能一次性完成修改,索引数量越多,效率优势越明显。
内容的提问来源于stack exchange,提问作者Kathie K
相关产品推荐
相关产品推荐

