一、列表合并7种方法
1、使用extend函数
- 与append()进行元素追加的方法不同,extend() 方法可以把一个列表的内容追加加到另一个列表的末尾
def merge_lists(list1, list2):
list1.extend(list2)
return list1
2、使用+运算符
def merge_lists(list1, list2):
return list1 + list2
3、使用列表推导式
def merge_lists(list1, list2):
return [item for sublist in [list1, list2] for item in sublist]
4、使用numpy库
import numpy as np
def merge_lists(list1, list2):
return np.concatenate((list1, list2), axis=0).tolist()
5、使用itertools库的chain函数
- 在处理大量列表时,这个办法特别高效。但需要引入chain这个标准模块。因为是python自带的,所以并不需要安装。
from itertools import chain
def merge_lists(list1, list2):
return list(chain(list1, list2))
6、 zip() 函数交叉合并
lst1 = [1, 2, 3]
lst2 = [4, 5, 6]
merged_lst = [item for pair in zip(lst1, lst2) for item in pair]
print(merged_lst) # 输出:[1, 4, 2, 5, 3, 6]
7、用星号*解包列表后合并
- 我们都知道可以在python中用星号解包列表,解包完,我们可以把元素重新放到列表中
lst1 = [1, 2, 3]
lst2 = [4, 5, 6]
merged_lst = [*list1,*list2]
print(merged_lst) # 输出:[1, 2,3, 4, 5, 6]
二、实例
- 使用嵌套的循环将两个数组的元素逐个添加到一个新的数组中
# -*- coding: utf-8 -*-
"""
Created on Mon Sep 16 07:09:47 2024
Ky_Area027.py 两个二维数组的合并
"""
# 定义两个二维数组
arr1 = [[1, 2, 3], [4, 5, 6]]
arr2 = [[7, 8, 9], [10, 11, 12]]
# 创建一个新的空数组来存储合并后的结果
merged_arr = []
# 循环遍历第一个数组的每一行
for row in arr1:
# 创建一个临时数组来存储合并后的行
merged_row = []
# 遍历当前行的每个元素,并添加到临时数组中
for element in row:
merged_row.append(element)
# 将临时数组添加到合并后的结果数组中
merged_arr.append(merged_row)
# 循环遍历第二个数组的每一行
for row in arr2:
# 创建一个临时数组来存储合并后的行
merged_row = []
# 遍历当前行的每个元素,并添加到临时数组中
for element in row:
merged_row.append(element)
# 将临时数组添加到合并后的结果数组中
merged_arr.append(merged_row)
# 输出合并后的结果数组
print(merged_arr)
三、资料
亿速云:
https://www.yisu.com/ask/2523660.html
知乎:
https://www.zhihu.com/question/578780196/answer/3486362664