Python程序合并两个数组

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("第一个数组是: ")
print(arr1)

print("第二个数组是: ")
print(arr2)

print("第三个数组是: ")
print(arr3)

print("第四个数组是: ")
print(arr4)

print("第五个数组是: ")
print(arr5)

print("第六个数组是: ")
print(arr6)

print("第七个数组是: ")
print(arr7)

print("执行合并操作后的给定数组的合并数组: ")
print(merged_array)

输出

上面程序的输出如下−

第一个数组是: 
[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, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28]

使用“Naive”方法或“Naive Technique”

此技术完全通过程序内声明的变量进行处理。如果需要合并两个数组,则会创建一个新数组,其中将存储两个数组的元素。最后,该数组将被视为合并后的结果数组。

类似地,如果需要合并三个数组,则将所有三个数组的元素存储在新创建的第四个数组中。让我们讨论此技术遵循的算法,然后构造程序。

示例

在下面的示例中,我们将讨论使用Naïve方法合并两个或多个数组的过程。

  • 步骤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("合并前的第一个数组:")
   print(arr1)
   print("合并前的第二个数组:")
   print(arr2)

   print("排序后的数组:")
   print(arr3)

输出

上述程序的输出如下

合并前的第一个数组:
[1, 3, 5, 7, 9, 11]
合并前的第二个数组:
[0, 2, 4, 6, 8, 10]
排序后的数组:
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11]

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程