将一个列表的元素附加到另一个列表的子列表
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]]
假设我有以下列表:
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]]