以下是Python中合并列表的常用方法,综合多个权威来源整理如下:
一、基础合并方法
-
加号运算符(+) 通过
+
运算符可创建新列表,将两个列表元素逐一合并。 ```python list1 = [1, 2, 3] list2 = [4, 5, 6] merged = list1 + list2 # 输出: [1, 2, 3, 4, 5, 6] -
extend()
方法 该方法直接在原列表末尾添加另一个列表的元素,不创建新列表,效率较高。 ```python list1 = [1, 2, 3] list2 = [4, 5, 6] list1.extend(list2) # list1 变为 [1, 2, 3, 4, 5, 6] -
列表推导式 支持多列表合并,并可对元素进行筛选或转换。 ```python list1 = [1, 2, 3] list2 = [4, 5, 6] merged = [item for sublist in [list1, list2] for item in sublist] # 输出: [1, 2, 3, 4, 5, 6]
二、其他高级方法
-
itertools.chain()
函数 适用于合并多个列表,尤其适合处理大型数据集,避免创建中间列表。 ```python import itertools list1 = [1, 2, 3] list2 = [4, 5, 6] merged = list(itertools.chain(list1, list2)) # 输出: [1, 2, 3, 4, 5, 6] -
字典合并技巧
update()
方法 :复制原字典后更新,会覆盖重复键。 ```python dict1 = {'a': 1, 'b': 2} dict2 = {'b': 3, 'c': 4} dict1.update(dict2) # dict1 变为 {'a': 1, 'b': 3, 'c': 4}- **解包操作符(
**
) **:Python 3.5+ 支持,语法简洁。 ```python dict1 = {'a': 1, 'b': 2} dict2 = {'b': 3, 'c': 4} merged = { **dict1, ** dict2} # 输出: {'a': 1, 'b': 3, 'c': 4} |
操作符 :Python 3.9+ 新增,语法简洁且支持链式合并。 ```python dict1 = {'a': 1, 'b': 2} dict2 = {'b': 3, 'c': 4} merged = dict1 | dict2 # 输出: {'a': 1, 'b': 3, 'c': 4}
三、注意事项
-
性能对比 :
+
和extend()
在合并小列表时性能相近,但extend()
更节省内存;itertools.chain()
处理大规模数据时效率更高。 -
数据类型限制 :上述方法仅适用于列表和字典的合并,其他数据结构需采用不同方法(如
itertools.chain()
也适用于元组、字符串等可迭代对象)。
通过以上方法,可根据具体场景选择最优方案,实现高效的数据合并。