如何将不同的值从一个列表插入到另一个特定列表中

3

我有一个列表

a = [[1,2,3],[3,4,5]]

在每一行的末尾,我想插入来自另一个列表的值。
b=[6,7]

我希望结果能够达到:

[[1,2,3,6],[3,4,5,7]]

我正在使用:

for i in range (0,len(a)):
    for j in range (0,len(b)):
        if j==0:
            a[i].append(b[j])
            m.append(a[i])
        else:
            a[i][3]=b[j]
            m.append(a[i])
        print m

但我没有得到预期的结果。这给了我:
[[1, 2, 3, 7], [1, 2, 3, 7], [3, 4, 5, 7], [3, 4, 5, 7]]

能否有人帮我提供正确的代码片段。


2
欢迎来到 Stack Overflow。您提出了一个非常好的问题,其中包括了所有必要的内容:清晰的问题描述、样例输入数据、期望输出结果、实际输出结果以及您尝试过的代码。许多其他人在提出他们的第一个问题时会把您的问题作为提问的示例。 - user9455968
2个回答

2

以下是使用zip的解决方案:

result = [sublist_a + [el_b] for sublist_a, el_b in zip(a, b)]

这将输出预期的结果:

[[1, 2, 3, 6], [3, 4, 5, 7]]

1
使用zip 例子:
a=[[1,2,3],[3,4,5]]
b=[6,7]

for i, j in zip(a,b):
    i.append(j)
print(a)

输出:

[[1, 2, 3, 6], [3, 4, 5, 7]]

谢谢您的回答。但对于简单的实现,它是有效的。 - Bineeta Saikia
谢谢你的回答。但是在我的代码中,当我执行这个附加操作时,它会将6、7附加到每个a上。我的意思是,我得到的答案是[[1,2,3,6,7],[3,4,5,6,7]]。你能帮忙吗? - Bineeta Saikia

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接