將給定陣列的元素合併的過程稱為合併。這個操作可以使用許多技術以許多方式來完成。讓我們討論所有在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 - 宣告要合併的兩個或更多個陣列。
第二步 - 建立一個新的數組,用於儲存初始數組的元素。
第三步驟 - 遍歷初始陣列的所有元素,並將這些元素同時儲存到新建立的陣列中。
步驟 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]
以上是Python程式合併兩個數組的詳細內容。更多資訊請關注PHP中文網其他相關文章!