关于python:如何将一个列表中的所有元素附加到另一个列表中?

How to append all elements of one list to another one?

本问题已经有最佳答案,请猛点这里访问。

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

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

目前

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

但是我想成为EDOCX1[0]

做EDOCX1[1]也不起作用。


使用extend()

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

您可以使用加法:

1
2
3
4
>>> a=[5, 'str1']
>>> b=[8, 'str2'] + a
>>> b
[8, 'str2', 5, 'str1']


有效的方法是使用List类的extend()方法。它将可迭代作为参数,并将其元素追加到列表中。

1
b.extend(a)

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

1
b = b + a


1
2
3
4
5
6
>>> a
[5, 'str1']
>>> b=[8, 'str2'] + a
>>> b
[8, 'str2', 5, 'str1']
>>>

对于extend(),您需要分别定义b和a…

那么,b.extend(a)就可以工作了。


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

1
2
3
4
5
>>> 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']

同样,您也可以将其插入另一个位置:

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