在列表的列表中插入一个值

Inserting a value in a list of lists

我的数据如下,

data = [[2, 1, 2, 2], [2, 2, 1, 5], [1, 2, 2, 2], [2, 1, 2, 5], [2, 5, 2, 1]]

我想将其转换为在内部列表的第 0、1、2、3 和 4 位有一个 0,如下所示,

new_Data = [[0, 2, 1, 2, 2], [2, 0, 2, 1, 5], [1, 2, 0, 2, 2], [2, 1, 2, 0, 5], [2, 5, 2, 1, 0]]

我试过用下面的方法,

a = 0

for n in range(len(mRco1)-1):

  mRco1[n][n] = [a] 

不过好像不行。

任何人都可以建议我该怎么做吗?

使用list.insert()方法

for i in range(len(data)):
    data[i].insert(i, 0)

结果:

print(data)
>>> [[0, 2, 1, 2, 2], [2, 0, 2, 1, 5], [1, 2, 0, 2, 2], [2, 1, 2, 0, 5], [2, 5, 2, 1, 0]]

您想遍历 data 中的列表,对于第 n 个列表,在位置 n 插入 0。您可以为此使用 insert 函数,并定义以下循环:

for i in range(len(data)):
    data[i].insert(i, 0)