Python合并列表内容主要有5种高效方法:+
运算符、extend()
方法、列表推导式、*
解包操作和itertools.chain()
函数,适用于不同场景的列表拼接需求。
-
+
运算符
直接通过list1 + list2
生成新列表,代码简洁但效率较低,适合少量数据合并。例如:pythonCopy Code
merged = [1, 2] + [3, 4] # 结果:[1, 2, 3, 4]
-
extend()
方法
原地修改原列表,将另一个列表元素逐个追加,无返回值但内存效率高。示例:pythonCopy Code
list1 = [1, 2] list1.extend([3, 4]) # list1变为[1, 2, 3, 4]
-
列表推导式
通过循环扁平化嵌套列表,灵活处理多层结构。例如合并二维列表:pythonCopy Code
nested = [[1, 2], [3, 4]] merged = [x for sublist in nested for x in sublist] # 结果:[1, 2, 3, 4]
-
*
解包操作
Python 3.5+支持使用[*list1, *list2]
快速合并,可读性强且支持多列表同时操作:pythonCopy Code
merged = [*[1, 2], *[3, 4]] # 结果同`+`运算符
-
itertools.chain()
高效处理大规模数据迭代,延迟计算节省内存,需用list()
转换结果:pythonCopy Code
import itertools merged = list(itertools.chain([1, 2], [3, 4]))
根据需求选择方法:小列表用+
或解包更直观,大数据优先extend()
或chain()
;注意+
和extend()
会创建新对象,而extend()
直接修改原列表。