如何将一个列表的所有元素附加到另一个列表?

时间:2017-08-03 12:08:08

标签: python python-2.7 list

可能是一个简单的问题,但我想将一个列表的元素分别解析为另一个列表。例如:

a=[5, 'str1'] 
b=[8, 'str2', a] 

目前

b=[8, 'str2', [5, 'str1']] 

但我希望成为b=[8, 'str2', 5, 'str1']

并且执行b=[8, 'str2', *a]也不起作用。

5 个答案:

答案 0 :(得分:11)

使用extend()

b.extend(a)
[8, 'str2', 5, 'str1']

答案 1 :(得分:6)

你可以使用加法:

>>> a=[5, 'str1']
>>> b=[8, 'str2'] + a
>>> b
[8, 'str2', 5, 'str1']

答案 2 :(得分:3)

执行此操作的有效方法是使用list类的extend()方法。它将iteratable作为参数并将其元素追加到列表中。

b.extend(a)

在内存中创建新列表的其他方法是使用+运算符。

b = b + a

答案 3 :(得分:1)

>>> a
[5, 'str1']
>>> b=[8, 'str2'] + a
>>> b
[8, 'str2', 5, 'str1']
>>> 

extend()您需要单独定义 b和 ...

然后b.extend(a)将起作用

答案 4 :(得分:0)

您可以使用切片在任意位置解压缩另一个列表中的列表:

>>> a=[5, 'str1'] 
>>> b=[8, 'str2'] 
>>> b[2:2] = a   # inserts and unpacks `a` at position 2 (the end of b)
>>> b
[8, 'str2', 5, 'str1']

同样,你也可以将它插入另一个位置:

>>> a=[5, 'str1'] 
>>> b=[8, 'str2'] 
>>> b[1:1] = a
>>> b
[8, 5, 'str1', 'str2']