Home > Software engineering >  Inserting a value in a list of lists
Inserting a value in a list of lists

Time:05-08

My data is as follows, data = [[2, 1, 2, 2], [2, 2, 1, 5], [1, 2, 2, 2], [2, 1, 2, 5], [2, 5, 2, 1]]

I would like to transform this such that there is a 0 at 0, 1, 2, 3 and 4th positions of the internal lists and get it look like below,

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]]

I have tried using the following method,

a = 0

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

mRco1[n][n] = [a]

But it does not seem to work.

Can anyone suggest how can I go about this?

CodePudding user response:

Use the list.insert() method

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

result :

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]]

CodePudding user response:

You'd like to iterate over the lists in data, and for the n'th list, insert a 0 at position n. You can use the insert function for that, and define the following loop:

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