将一个列表的元素附加到另一个列表的子列表

Appending element of one list to sub-list of another list

假设我有以下列表:

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

我想创建一个新列表,其中第二个列表的每个元素都将附加到 l1 的每个子列表中,所需的输出应该是:

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

然而,当我执行 [k for i in zip(l1, l2) for k in i] 时,我得到以下信息:

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

这不是我想要的我想知道我在这里做错了什么?

使用嵌套循环,您将解包子列表。您可以改用列表串联:

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

输出:

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

如果要原地修改l1

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

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

输出:

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