Поиск по сайту:

Программа 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

Здесь обр1, обр2, обр3, обр4, обр5, . . . . . ., 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]

Статьи по данной тематике: