Информатика · 9 класс1 четвертьТема 2ГОСО РК 2026Базовый

Двумерные массивы (матрицы) в Python: создание и обработка

Вложенные списки, индексы строки и столбца [i][j], табличный ввод и вывод матрицы, сумма элементов, главная и побочная диагонали.

Время изучения~60 минтеория + практика
Разделы темы4 разд.пошаговый разбор
Тест темы2 вопр.с мгновенным ответом
СОР / СОЧ1 четвертьдескрипторы ГОСО

Двумерный массив (матрица / таблица) — это упорядоченный набор однотипных данных, элементы которого определяются двумя индексами: номером строки и номером столбца.

В реальной жизни с матрицами мы сталкиваемся постоянно: шахматная доска (8 × 8), расписание уроков (дни недели × уроки), пиксели экрана монитора или таблица в Excel.

В языке Python нет специального отдельного типа «матрица»: двумерный массив реализуется как список, элементами которого являются другие списки (список списков / вложенный список):

matrix=[matrix = [

[1, 2, 3], # Строка 0

[4, 5, 6], # Строка 1

[7, 8, 9] # Строка 2

]

Чтобы обратиться к конкретному элементу матрицы, используют двойную индексацию matrix[i][j], где:

• i — номер строки (от 0 до n-1);

• j — номер столбца (от 0 до m-1).

Например, matrix[1][2] — элемент на пересечении строки 1 и столбца 2 (число 6).

Структура

Матрица (n × m)

Прямоугольная таблица из n строк и m столбцов, реализованная вложенными списками.
Индексация

matrix[i][j]

Двойной индекс: первый указывает строку, второй — столбец элемента.

Для ввода матрицы с клавиатуры (когда заданы размеры n строк и m столбцов) используют списочные включения (list comprehension) и вложенные циклы:

n, m = map(int, input().split()) # Размерность матрицы

matrix=[]matrix = []

for i in range(n):

row=list(map(int,input().split()))row = list(map(int, input().split()))

matrix.append(row)

Табличный вывод на экран (построчно с пробелами):

for row in matrix:

for elem in row:

print(f"{elem:4d}", end=" ") # 4 знакоместа на число

print() # Переход на новую строку

Синтаксис

Вложенный цикл

Внешний цикл for i перебирает строки, внутренний for j перебирает столбцы матрицы.

Квадратная матрица — матрица, у которой количество строк равно количеству столбцов (n=mn = m).

Диагонали квадратной матрицы n × n:

1. Главная диагональ — идет из левого верхнего угла (0, 0) в правый нижний угол (n-1, n-1). Условие принадлежности элемента главной диагонали: индекс строки равен индексу столбца:

i=ji = j

(элементы matrix[0][0], matrix[1][1], matrix[2][2]);

2. Побочная диагональ — идет из правого верхнего угла (0, n-1) в левый нижний угол (n-1, 0). Условие принадлежности элемента побочной диагонали:

i+j=n−1  ⟹  j=n−1−ii + j = n - 1 \implies j = n - 1 - i

(элементы matrix[0][2], matrix[1][1], matrix[2][0] для n = 3).

Диагональ

Главная диагональ (i == j)

Элементы квадратной матрицы, у которых номер строки строго равен номеру столбца.
Диагональ

Побочная диагональ (i + j == n - 1)

Элементы обратной диагонали, сумма индексов которых равна размерности минус один.
Условия диагоналей
Главная: i=j;Выше главной: i<j;Ниже главной: i>j\text{Главная: } i = j;\quad \quad \text{Выше главной: } i < j;\quad \quad \text{Ниже главной: } i > j
Математические соотношения индексов квадратной матрицы.

Основные задачи на матрицы:

1. Нахождение суммы всех элементов: total = sum(sum(row) for row in matrix);

2. Поиск максимума: maximum = max(max(row) for row in matrix);

3. Сумма элементов главной диагонали (след матрицы / Trace):

diagsum=sum(matrix[i][i]foriinrange(n))diag_{sum} = sum(matrix[i][i] for i in range(n));

4. Транспонирование матрицы — замена строк столбцами: trans = [[matrix[j][i] for j in range(n)] for i in range(m)].

Шаг 1
Инициализация суммы диагонали
trace = 0.
Шаг 2
Один цикл по i
for i in range(n): trace += matrix[i][i] (не нужен двойной цикл!).
Шаг 3
Вывод ответа
print("След матрицы:", trace).
Ваш прогресс по теме25%
Шпаргалка формул9 класс
Количество возможных n-буквенных слов:
W=MLW = M^L[слов]
Мощность и степень реляционного отношения:
∣R∣=n (кортежей),deg(R)=k (атрибутов)|R| = n \text{ (кортежей)}, \quad \text{deg}(R) = k \text{ (атрибутов)}[строк / столбцов]
Следующая тема

Реляционные базы данных: сущности, ключи и связи

Перейти к теме →