Python:如何同时向列表中添加两个列表?

时间:2015-05-27 09:30:49

标签: python list append

假设我有一个列表

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)))

不起作用。有没有办法在一个漂亮的oneliner中为两个步骤获得相同的输出,即可以同时通过两个列表附加一个列表?

4 个答案:

答案 0 :(得分:5)

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

append只能向列表中添加一个元素。 extend获取一个列表并将其中的所有元素添加到其他列表中。

答案 1 :(得分:3)

您可以按如下方式使用extend

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

或者只是:

l1 + [l2] + [[u,z]]

答案 2 :(得分:1)

您可以使用以下任何一种方法:

方法1:

>>> l1.extend([l2, [u,z]])
>>> l1
[['a', 'b'], [1, 2]]

append:在末尾添加对象
extend:通过附加可迭代

中的元素来扩展列表

方法2:

>>> l1 += [l2] + [[u, z]]
>>> l1
[['a', 'b'], [1, 2]]

答案 3 :(得分:1)

通过创建生成器

,这很简单

import itertools
for item in itertools.chain(listone, listtwo):
   # do what you want to do with this merged list