Python合并两个数组的程序
合并给定数组的元素的过程称为合并。可以使用多种技术以多种方式完成此操作。让我们讨论所有有助于在 Python 中合并给定数组的技术。在深入研究这些技术之前,让我们了解一下使用简单的输入输出场景如何进行数组合并。
输入输出场景
考虑两个数组 arr1 和 arr2。
arr1 = [ 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 ] arr2 = [ 11, 12, 13, 14, 15, 16, 17, 18, 19, 20 ]
现在,合并后的数组是在合并数组 arr1 和 arr2 后得到的最终数组。
merged_array = [ 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20 ].
使用“+”运算符
“+”运算符用于在一般数学中添加值。但是,在数组的情况下,它的用法与其他应用程序大不相同。它可以用来组合和合并数组,其中包含合并操作。
语法
使用“+”运算符合并给定数组使用的语法如下:
merged_array = arr1 + arr2 + arr3 + arr4 + arr5 + arr6 + arr7 + arr8 + . . . . . . . . . . . . . . . . + arrN
这里,arr1、arr2、arr3、arr4、arr5……arrN 是应该合并的数组。
示例
在这个例子中,我们将讨论使用“+”运算符合并数组的过程。
arr1 = [1, 2, 3, 4]
arr2 = [5, 6, 7, 8]
arr3 = [9, 10, 11, 12]
arr4 = [13, 14, 15, 16]
arr5 = [17, 18, 19, 20]
arr6 = [21, 22, 23, 24]
arr7 = [25, 26, 27, 28]
merged_array = arr1 + arr2 + arr3 + arr4 + arr5 + arr6 + arr7
print("The first array is: ")
print(arr1)
print("The second array is: ")
print(arr2)
print("The third array is: ")
print(arr3)
print("The fourth array is: ")
print(arr4)
print("The fifth array is: ")
print(arr5)
print("The sixth array is: ")
print(arr6)
print("The seventh array is: ")
print(arr7)
print("The merged array of the given arrays after performing merge operation: ")
print(merged_array)
输出
上面程序的输出如下:
The first array is: [1, 2, 3, 4] The second array is: [5, 6, 7, 8] The third array is: [9, 10, 11, 12] The fourth array is: [13, 14, 15, 16] The fifth array is: [17, 18, 19, 20] The sixth array is: [21, 22, 23, 24] The seventh array is: [25, 26, 27, 28] The merged array of the given arrays after performing merge operation: [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28]
使用“朴素”方法或“朴素技术”
此技术完全借助程序中声明的变量进行处理。如果必须合并两个数组,则创建一个新数组,并将两个数组的元素存储到其中。最后,此数组将被视为最终合并的数组。
类似地,如果需要合并三个数组,则所有三个数组的元素将存储在一个新创建的第四个数组中。让我们讨论此技术遵循的算法,然后构建程序。
示例
在下面的例子中,我们将讨论使用朴素方法合并两个或多个数组的过程。
步骤 1 - 声明需要合并的两个或多个数组。
步骤 2 - 创建一个新数组,可以将初始数组的元素存储到其中。
步骤 3 - 遍历初始数组的所有元素,并将这些元素同时存储到新创建的数组中。
步骤 4 - 遍历所有元素后,打印新创建的数组。
def merge_arrays(arr1, arr2, size1, size2, arr3):
i = 0
j = 0
k = 0
while(i < size1):
arr3[k] = arr1[i]
k = k + 1
i = i + 1
while(j < size2):
arr3[k] = arr2[j]
k = k + 1
j = j + 1
arr3.sort()
if __name__ == '__main__':
arr1 = [1, 3, 5, 7, 9, 11]
size1 = len(arr1)
arr2 = [0, 2, 4, 6, 8, 10]
size2 = len(arr2)
arr3 = [0 for i in range(size1 + size2)]
merge_arrays(arr1, arr2, size1, size2, arr3)
print("The first array before merging is: ")
print(arr1)
print("The second array before merging is: ")
print(arr2)
print("The array after being merged and sorted: ")
print(arr3)
输出
上面程序的输出如下
The first array before merging is: [1, 3, 5, 7, 9, 11] The second array before merging is: [0, 2, 4, 6, 8, 10] The array after being merged and sorted: [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11]
广告
数据结构
网络
关系数据库管理系统(RDBMS)
操作系统
Java
iOS
HTML
CSS
Android
Python
C语言编程
C++
C#
MongoDB
MySQL
Javascript
PHP