🐍
menu_bookИнструкции

Двумерные списки в Python

Создание матриц, индексация [i][j] и вложенные циклы

grid_on1. Что такое двумерный список?

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

Визуально: матрица 3×3
123← строка [0]
456← строка [1]
789← строка [2]
[0][1][2]
matrix[1][1] = 5 (строка 1, столбец 1)
В Python:
matrix = [
    [1, 2, 3],
    [4, 5, 6],
    [7, 8, 9]
]
print(matrix[1][1])  # 5

build2. Создание матрицы программно

Чтобы создать матрицу нужного размера, используется list comprehension или вложенный цикл:

Правильный способ (list comprehension):
# Матрица rows×cols из нулей
rows, cols = 3, 4
m = [[0] * cols for _ in range(rows)]
✅ Это правильно — каждая строка отдельный список
Частая ошибка:
# ❌ НЕ делайте так!
m = [[0] * cols] * rows
# Все строки — один объект!
❌ Это ошибка — изменение одной строки изменит все

loop3. Перебор матрицы — вложенные циклы

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

перебор_матрицы.py
1
2
3
4
5
6
7
8
9
matrix = [[1,2,3],[4,5,6],[7,8,9]]
rows = len(matrix)
cols = len(matrix[0])
# Перебор всех элементов
for i in range(rows):
    for j in range(cols):
        print(matrix[i][j], end=" ")
    print()  # перенос строки
1 2 3
4 5 6
7 8 9