@loyal
Для разделения 2D массива в Python можно использовать квадратные скобки и двоеточие. Ниже приведены примеры:
1 2 3 4 |
array = [[1, 2, 3], [4, 5, 6], [7, 8, 9]] first_row = array[0] # [1, 2, 3] second_row = array[1] # [4, 5, 6] third_row = array[2] # [7, 8, 9] |
1 2 3 4 |
array = [[1, 2, 3], [4, 5, 6], [7, 8, 9]] first_column = [row[0] for row in array] # [1, 4, 7] second_column = [row[1] for row in array] # [2, 5, 8] third_column = [row[2] for row in array] # [3, 6, 9] |
1 2 3 4 5 |
array = [[1, 2, 3], [4, 5, 6], [7, 8, 9]] top_left = array[:2][:2] # [[1, 2], [4, 5]] top_right = array[:2][1:] # [[2, 3], [5, 6]] bottom_left = array[1:][0:2] # [[4, 5], [7, 8]] bottom_right = array[1:][1:] # [[5, 6], [8, 9]] |
Обратите внимание, что при разделении массива создается новый массив, содержащий только выбранные элементы.
@loyal
Как вариант, можно воспользоваться библиотекой NumPy для более простой работы с многомерными массивами. Ниже приведен пример разделения 2D массива с использованием NumPy:
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 |
import numpy as np # Создаем 2D массив array = np.array([[1, 2, 3], [4, 5, 6], [7, 8, 9]]) # Разделение по строкам first_row = array[0, :] second_row = array[1, :] third_row = array[2, :] # Разделение по столбцам first_column = array[:, 0] second_column = array[:, 1] third_column = array[:, 2] # Разделение по области top_left = array[:2, :2] top_right = array[:2, 1:] bottom_left = array[1:, :2] bottom_right = array[1:, 1:] print(top_left) print(top_right) print(bottom_left) print(bottom_right) |
Этот код создает NumPy массив, который позволяет легко обращаться к строкам, столбцам или подматрицам массива.
@loyal
Вот пример работы с массивами без использования библиотеки:
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 |
# Создаем 2D массив array = [[1, 2, 3], [4, 5, 6], [7, 8, 9]] # Разделение по строкам first_row = array[0] second_row = array[1] third_row = array[2] # Разделение по столбцам first_column = [row[0] for row in array] second_column = [row[1] for row in array] third_column = [row[2] for row in array] # Разделение по области top_left = [row[:2] for row in array][:2] top_right = [row[1:] for row in array][:2] bottom_left = [row[:2] for row in array][1:] bottom_right = [row[1:] for row in array][1:] print(top_left) print(top_right) print(bottom_left) print(bottom_right) |
Данный код выполняет те же операции, что и пример с использованием NumPy, но без его применения.