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

Posted

技术标签:

【中文标题】如何将一个列表的所有元素附加到另一个列表? [复制]【英文标题】:How to append all elements of one list to another one? [duplicate] 【发布时间】:2018-01-11 00:46:29 【问题描述】:

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

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

目前

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

不过我想成为b=[8, 'str2', 5, 'str1']

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

【问题讨论】:

【参考方案1】:

使用extend()

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

【讨论】:

【参考方案2】:

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

>>> 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']

【讨论】:

【参考方案3】:

你可以使用加法:

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

【讨论】:

这绝对是最好的选择。谢谢【参考方案4】:
>>> a
[5, 'str1']
>>> b=[8, 'str2'] + a
>>> b
[8, 'str2', 5, 'str1']
>>> 

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

那么b.extend(a) 就可以了

【讨论】:

【参考方案5】:

做到这一点的有效方法是使用 list 类的 extend() 方法。它将一个可迭代对象作为参数并将其元素附加到列表中。

b.extend(a)

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

b = b + a

【讨论】:

这绝对是更好的解决方案。

以上是关于如何将一个列表的所有元素附加到另一个列表? [复制]的主要内容,如果未能解决你的问题,请参考以下文章

如何将所有列表元素添加到另一个列表中[重复]

如何使用循环将带有来自 googlesearch 的链接的列表附加到另一个列表?

Python 列表是如何工作的? [复制]

如何将可重复使用的多行/多列表从一个 Excel 工作表复制到另一个工作表上的数据库

如何在 Discord Py 中将列表附加并保存到另一个文件中?

如何在不影响 Flutter 中的原始列表的情况下将列表执行深层复制到另一个列表