Home > database >  Appending element of one list to sub-list of another list
Appending element of one list to sub-list of another list

Time:04-30

Suppose I have the following lists:

l1 = [['a'],['b'],['c'],['d']]
l2 = [1,2,3,4]

I want to make a new list where each element of second list would be appended to each sub-list of l1 the desired out should be:

[['a',1],['b',2],['c',3],['d',4]]

yet when I do [k for i in zip(l1, l2) for k in i], I get the following:

[['a'], 1, ['b'], 2, ['c'], 3, ['d'], 4]

which is not desired I wonder what am I doing wrong here?

CodePudding user response:

With the nested loop, you're unpacking the sublists. You could use list concatenation instead:

out = [i [j] for i,j in zip(l1, l2)]

Output:

[['a', 1], ['b', 2], ['c', 3], ['d', 4]]

CodePudding user response:

If you want to modify l1 in place:

l1 = [['a'],['b'],['c'],['d']]
l2 = [1,2,3,4]

for x,y in zip(l1, l2):
    x.append(y)

output:

[['a', 1], ['b', 2], ['c', 3], ['d', 4]]
  • Related