假设我有一个列表
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中为两个步骤获得相同的输出,即可以同时通过两个列表附加一个列表?
答案 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