matrix[row][column]Доступ к элементу: оба индекса должны лежать в допустимых границах.
Матрица — список строк. Первый индекс выбирает строку, второй — столбец: matrix[row][column].
Матрица — список строк. Первый индекс выбирает строку, второй — столбец: matrix[row][column].
Матрица — список строк. Два индекса всегда читаются в одном порядке: сначала строка, затем столбец.
Форма. Для прямоугольной матрицы n = len(matrix), m = len(matrix[0]).
Доступ. matrix[row][column] сначала выбирает строку, потом элемент в ней.
Независимые строки. Каждая строка должна быть отдельным списком.
Обход. Внешний цикл выбирает строку, внутренний — столбец или элемент строки.
Запусти короткую программу и переходи по строкам. Визуализатор показывает только код, текущую строку, переменные и вывод.
Выражение [[0] * m] * n создаёт n ссылок на одну строку: изменение одной ячейки повторится во всех строках. Правильная конструкция использует списковое включение и создаёт строку заново для каждого повтора. Диагональ квадратной матрицы имеет условие row == column; побочная диагональ — row + column == n - 1.
matrix[row][column]Доступ к элементу: оба индекса должны лежать в допустимых границах.
len(matrix)Число строк.
len(matrix[0])Число столбцов при непустой прямоугольной матрице.
[[0] * m for _ in range(n)]Создаёт n независимых строк длины m.
range(n)Перебирает допустимые индексы строк.
sum(row)Сумма одной строки чисел.
printПечатает значение или учебное представление матрицы.