Двумерные массивы в Python обычно представляют собой списки списков, где каждый вложенный список представляет собой строку или колонку данных. Двумерные массивы часто используются для представления матриц или таблиц. Рассмотрим создание, использование и основные операции с двумерными массивами.
Создание двумерных массивов
Создание статического двумерного массива
matrix = [
[1, 2, 3],
[4, 5, 6],
[7, 8, 9]
]
Создание пустого двумерного массива
Создание пустого двумерного массива фиксированного размера.
rows, cols = 3, 3
matrix = [[0 for _ in range(cols)] for _ in range(rows)]
print(matrix) # [[0, 0, 0], [0, 0, 0], [0, 0, 0]]
Инициализация двумерного массива с заданным значением
rows, cols = 3, 3
initial_value = 1
matrix = [[initial_value for _ in range(cols)] for _ in range(rows)]
print(matrix) # [[1, 1, 1], [1, 1, 1], [1, 1, 1]]
Простой двумерный массив из строки
input_string = "1,2,3 4,5,6 7,8,9"
# Разделение строки на подстроки по пробелам
rows = input_string.split(' ')
# Разделение каждой подстроки по запятым и преобразование в целые числа
two_dimensional_array = [list(map(int, row.split(','))) for row in rows]
print(two_dimensional_array) # Вывод: [[1, 2, 3], [4, 5, 6], [7, 8, 9]]
Доступ к элементам двумерного массива
Чтение элемента
matrix = [
[1, 2, 3],
[4, 5, 6],
[7, 8, 9]
]
print(matrix[1][2]) # 6
Изменение элемента
matrix = [
[1, 2, 3],
[4, 5, 6],
[7, 8, 9]
]
matrix[1][2] = 10
print(matrix) # [[1, 2, 3], [4, 5, 10], [7, 8, 9]]
Итерация по двумерному массиву
Итерация по строкам
matrix = [
[1, 2, 3],
[4, 5, 6],
[7, 8, 9]
]
for row in matrix:
print(row)
Итерация по элементам
# Создание двумерного массива
two_dimensional_array = [
[1, 2, 3],
[4, 5, 6],
[7, 8, 9]
]
# Итерация по двумерному массиву с использованием range
for i in range(len(two_dimensional_array)):
for j in range(len(two_dimensional_array[i])):
print(f"Элемент в позиции ({i}, {j}) равен {two_dimensional_array[i][j]}")
# Вывод будет следующим:
# Элемент в позиции (0, 0) равен 1
# Элемент в позиции (0, 1) равен 2
# Элемент в позиции (0, 2) равен 3
# Элемент в позиции (1, 0) равен 4
# Элемент в позиции (1, 1) равен 5
# Элемент в позиции (1, 2) равен 6
# Элемент в позиции (2, 0) равен 7
# Элемент в позиции (2, 1) равен 8
# Элемент в позиции (2, 2) равен 9
Основные операции с двумерными массивами
Транспонирование матрицы
matrix = [
[1, 2, 3],
[4, 5, 6],
[7, 8, 9]
]
transposed = [[matrix[j][i] for j in range(len(matrix))] for i in range(len(matrix[0]))]
print(transposed) # [[1, 4, 7], [2, 5, 8], [3, 6, 9]]
Поиск максимального и минимального элемента
matrix = [
[1, 2, 3],
[4, 5, 6],
[7, 8, 9]
]
max_value = max(max(row) for row in matrix)
min_value = min(min(row) for row in matrix)
print(max_value) # 9
print(min_value) # 1
Сумма всех элементов
matrix = [
[1, 2, 3],
[4, 5, 6],
[7, 8, 9]
]
total_sum = sum(sum(row) for row in matrix)
print(total_sum) # 45
Генераторы двумерных массивов
Генерация матрицы
rows, cols = 3, 3
matrix = [[i * j for j in range(cols)] for i in range(rows)]
print(matrix) # [[0, 0, 0], [0, 1, 2], [0, 2, 4]]
Генерация матрицы с условием
rows, cols = 3, 3
matrix = [[(i + j) % 2 for j in range(cols)] for i in range(rows)]
print(matrix) # [[0, 1, 0], [1, 0, 1], [0, 1, 0]]