在Python中合并两个列表有多种方法,最常用的包括+
运算符、extend()
方法和itertools.chain()
函数。其中,+
运算符直接拼接列表生成新对象,适合简单场景;extend()
原地修改原列表,内存效率更高;而itertools.chain()
适合处理大规模数据或复杂迭代需求。
-
+
运算符:通过list1 + list2
生成新列表,代码简洁但会占用额外内存。例如:python复制
merged_list = [1, 2, 3] + [4, 5, 6] # 结果:[1, 2, 3, 4, 5, 6]
-
extend()
方法:将第二个列表元素追加到第一个列表中,直接修改原列表。例如:python复制
list1 = [1, 2, 3] list1.extend([4, 5, 6]) # list1变为[1, 2, 3, 4, 5, 6]
-
itertools.chain()
:高效合并多个可迭代对象,返回迭代器。需导入模块,适合大数据处理:python复制
from itertools import chain merged_list = list(chain([1, 2, 3], [4, 5, 6]))
-
列表推导式:灵活合并并支持元素处理,例如:
python复制
merged_list = [x for lst in [[1, 2, 3], [4, 5, 6]] for x in lst]
-
*
解包操作:Python 3.5+支持,直接解包列表元素:python复制
merged_list = [*[1, 2, 3], *[4, 5, 6]]
根据需求选择合适方法:小列表用+
或extend()
,大数据优先itertools.chain()
,需灵活处理时用列表推导式。注意内存和原列表是否需保留。