python 根据指定的索引列表更改嵌套列表中的值

ngynwnxp  于 2023-01-08  发布在  Python
关注(0)|答案(3)|浏览(111)

如何更改嵌套列表中的值
如何根据索引更改列表中的值为了澄清,我最初使用的是_list

the_list = [['a','a','a'],['b','b','b'],['b','b','b'],['c','c','c']]

但是,我希望更改上面_list中的值,这些值在indexA中具有index/position

indexA = [(0,2),(1,2),(0,1)]

我想将_list的以下索引更改为'hi'

the_list[0][2]      
the_list[1][2] 
the_list[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'

输出:

the_list = [['a', 'hi', 'hi'], ['b', 'b', 'hi'], ['b', 'b', 'b'],['c', 'c', 'c']]

请推荐做这件事的更好方法
先谢谢你

ncecgwcz

ncecgwcz1#

for i, j in indexA:
    the_list[i][j] = 'hi'

print(the_list)

给予

[['a', 'hi', 'hi'], ['b', 'b', 'hi'], ['b', 'b', 'b'], ['c', 'c', 'c']]
eivnm1vs

eivnm1vs2#

可以尝试并行循环“索引”列表以更改主列表

for x,y in IndexA:
    the_list[x][y] = "Hi"
ie3xauqp

ie3xauqp3#

改变列表中的值的唯一方法是像你所做的那样手动改变它。你唯一能做的就是使用一个For循环,而不是像下面这样手动写入。

change_to = 'hi'
indexA = [(0,2),(1,2),(0,1)]   
for i in indexA:
  the_list[i[0]i[1]] = change_to

您必须手动引用才能更改该值。因此,请通过以下方式进行改进。
希望能有所帮助

相关问题