menu_bookИнструкции
Двумерные списки в Python
Создание матриц, индексация [i][j] и вложенные циклы
grid_on1. Что такое двумерный список?
Двумерный список — это список, элементами которого являются другие списки. Его удобно представить как таблицу (матрицу) — строки и столбцы.
Визуально: матрица 3×3
| 1 | 2 | 3 | ← строка [0] |
| 4 | 5 | 6 | ← строка [1] |
| 7 | 8 | 9 | ← строка [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
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
4 5 6
7 8 9