如何遍历多个Python列表执行相同修改且保留原变量可单独调用
解决方案
你之前的写法没有生效的核心原因是:循环中直接给each赋值的操作只是重新绑定了局部变量,没有修改原列表对象本身的内容,自然不会同步到原变量上。我们可以通过切片赋值实现列表原地修改满足需求:
lst1 = ['a', 'b', 'c'] lst2 = ['d', 'e', 'f', 'g'] lst3 = ['h', 'i'] # 将所有列表放入嵌套列表 lsts = [lst1, lst2, lst3] for each in lsts: # 切片赋值直接替换列表的全部元素,列表对象引用不变 each[:] = [x + 'z' for x in each]
调用lst3即可得到预期结果:
print(lst3) # 输出:['hz', 'iz']
也可以通过遍历索引逐个修改元素,同样是原地修改操作:
for each in lsts: for idx in range(len(each)): each[idx] += 'z'
内容的提问来源于stack exchange,提问作者sudden_clarity_clarence
相关产品推荐
相关产品推荐

