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]

更新於:2023年5月5日

24K+ 次檢視

開啟您的職業生涯

完成課程獲得認證

開始
廣告