Python3 – 6种方法拼接合并列表(list)
Python 中合并列表是非常常见的操作,本文提供6种方法实现列表的拼接:
- 通过 + 运算直接拼接
- 通过循环调用list.append()进行拼接
- 通过列表表达式拼接
- 通过 ‘*’ 解构方式实现拼接
- 通过内置的extend方法实现拼接
- 通过itertools.chain()实现拼接
下面对每种方法进行说明。
1. 通过 + 运算直接拼接
1 2 3 4 5 6 7 8 9 |
# 初始化列表 list1 = [0, 1, 2] list2 = [3,4, 5,] list3 = [6, 7, 8, 9] # 1. 通过 + 运算直接拼接 print('# 1. 通过 + 运算直接拼接') result = list1 + list2 + list3 print(result) |
控制台输出
1 2 |
# 1. 通过 + 运算直接拼接 [0, 1, 2, 3, 4, 5, 6, 7, 8, 9] |
2. 通过循环调用list.append()拼接
1 2 3 4 5 6 7 8 9 |
print('# 2. 通过循环调用list.append()拼接') result = [] for element in list1: result.append(element) for element in list2: result.append(element) print(result) |
控制台输出
1 2 |
# 2. 通过循环调用list.append()拼接 [0, 1, 2, 3, 4, 5] |
3. 通过列表表达式拼接
1 2 3 4 |
print('# 3. 通过列表表达式拼接') result = [element for lis in [list1, list2 , list3] for element in lis] print(result) |
控制台输出
1 2 |
# 3. 通过列表表达式拼接 [0, 1, 2, 3, 4, 5, 6, 7, 8, 9] |
4. 通过 ‘*’ 解构方式实现拼接
1 2 3 4 5 |
print('4. 通过 '*' 解构方式实现拼接') result = [*list1, *list2] print(result) |
控制台输出
1 2 |
# 4. 通过 '*' 解构方式实现拼接 [0, 1, 2, 3, 4, 5, 6, 7, 8, 9] |
5. 通过内置的extend方法实现拼接
1 2 3 4 5 6 7 |
print('# 5.通过内置的extend方法实现拼接') result = [] result.extend(list1) # list_one contains all the elements result.extend(list2) result.extend(list3) print(result) |
控制台输出
1 2 |
# 4. 通过 '*' 解构方式实现拼接 [0, 1, 2, 3, 4, 5, 6, 7, 8, 9] |
6. 通过itertools.chain()实现拼接
1 2 3 4 5 |
print('# 6. 通过itertools.chain()实现拼接') import itertools result = list(itertools.chain(list2, list2, list3)) print(result) |
控制台输出
1 2 |
# 6. 通过itertools.chain()实现拼接' [0, 1, 2, 3, 4, 5, 6, 7, 8, 9] |
小结
以上六种方法各有优劣,从效率角度看,直接使用操作符’+’和‘*’的方式效率最好,但此种方式不适合做大数据处理。如果需要做一定列表元素处理,然后再合并,可以采用2、3两种方式。如果数据量很大,都存在外部存储器或数据库里,采用6的方式更加合适。 如果需要修改原始列表,则可以使用5中的extend方式。
THE END
0
二维码
海报
Python3 – 6种方法拼接合并列表(list)
Python 中合并列表是非常常见的操作,本文提供6种方法实现列表的拼接:
通过 + 运算直接拼接
通过循环调用list.append()进行拼接
通过列表表达式拼接
通过 ‘……

共有 0 条评论