Python:如何同时将两个列表添加到一个列表中?

3

假设我有一个列表

l1 = []

另一个列表

l2 = ['a','b']

和两个变量

u = 1
z = 2

现在我想将l2添加到l1中,并将这两个变量作为列表添加到l1中。可以使用append分两步完成:
l1.append(l2)
l1.append(list((u,z)))

这将为我提供所需的输出。

[['a', 'b'], [1, 0]]

但是像这样的东西
l1.append(l2, list((u,z)))

无法正常工作。有没有一种方法可以通过一个漂亮的一行代码获得我在两个步骤中获得的相同输出,即是否可以同时将列表附加到两个列表?

4个回答

5
l1.extend([l2, [u,z]])

append 只能向列表中添加一个元素。 extend 接受一个列表,并将其中所有元素添加到另一个列表中。


很好,谢谢!我尝试使用“extend”,但是使用l1.extend(l2, list((u,z)))并将其称为“append”会导致相同的错误 - []解决了这个问题。 - Cleb

3
您可以按照以下方式使用extendl1.extend([l2,[u,z]]) 或者只需执行以下操作: l1 + [l2] + [[u,z]]

感谢提供另一种解决方案! - Cleb
没问题,@Cleb,下次你可以给评论点赞而不是感谢。这对其他用户来说更有用,可以看到答案是否有用。 - Avión

1
你可以使用以下任何一种方法:
方法1:
>>> l1.extend([l2, [u,z]]) >>> l1 [['a', 'b'], [1, 2]]
append: 在列表末尾添加对象 extend: 将可迭代对象中的元素附加到列表末尾
方法2:
>>> l1 += [l2] + [[u, z]] >>> l1 [['a', 'b'], [1, 2]]

这是关于编程的内容,请将其从英语翻译成中文。只返回翻译后的文本:这不是OP问题中期望的输出。 - tmdavison
修改了代码,现在得到了期望的输出。 - Rahul Gupta
是的,那是被接受的答案,但无论如何感谢你的努力! - Cleb

1
这很简单,只需创建一个生成器即可。 import itertools
for item in itertools.chain(listone, listtwo):
# 在合并后的列表上执行你想要执行的操作


与已接受的答案相比,这种方法有什么优势? - Cleb
Itertools 不仅可以帮助合并,还可以根据需要进行排列和组合... - Shruti Srivastava

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