@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, но без его применения.