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]
廣告