Списки в Python — это одна из таких структур, которые могут быть простыми (одномерными) или сложными (многомерными), включая двумерные списки. Двумерные списки, также известные как матрицы, представляют собой список списков и часто используются для представления таблиц данных или сеток.
Создание двумерных списков
Простой способ создать двумерный список — это объявить его напрямую:
matrix = [[1, 2, 3], [4, 5, 6], [7, 8, 9]] print(matrix)
Здесь matrix
— это двумерный список, состоящий из трех списков, каждый из которых содержит три элемента.
Доступ к элементам двумерного списка
Как и в случае одномерных списков, вы можете получить доступ к элементам двумерного списка по их индексу:
matrix = [[1, 2, 3], [4, 5, 6], [7, 8, 9]] print(matrix[0]) # Вывод: [1, 2, 3] print(matrix[0][1]) # Вывод: 2
Здесь matrix[0]
возвращает первый подсписок, а matrix[0][1]
возвращает второй элемент первого подсписка.
Изменение элементов двумерного списка
Вы также можете изменить элементы двумерного списка, обратившись к ним по индексу:
matrix = [[1, 2, 3], [4, 5, 6], [7, 8, 9]] matrix[0][1] = 20 print(matrix) #[[1, 20, 3], [4, 5, 6], [7, 8, 9]]
Обход двумерного списка
Часто вам может потребоваться обойти все элементы двумерного списка. Самый простой способ это сделать — использовать вложенные циклы:
matrix = [[1, 2, 3], [4, 5, 6], [7, 8, 9]] for row in matrix: for element in row: print(element, end=' ') print() #1 2 3 #4 5 6 #7 8 9
В этом коде внешний цикл проходит по каждому подсписку matrix
, а внутренний цикл проходит по каждому элементу в текущем подсписке.
Генерация двумерных списков
Вы можете создать двумерные списки динамически, используя вложенные генераторы списков:
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]]
Здесь внутренний генератор создает подсписок, заполненный нулями, а внешний генератор создает список таких подсписков.
Вложенная индексация и срезы в двумерных списках
Как и с одномерными списками, вы можете использовать индексацию и срезы для доступа к подмножествам двумерного списка:
matrix = [[1, 2, 3], [4, 5, 6], [7, 8, 9]] print(matrix[1][1:]) #[5, 6]
Здесь matrix[1][1:]
возвращает срез второго подсписка, начиная с второго элемента.
Заключение
В этой статье мы рассмотрели основы работы с двумерными списками в Python. Мы обсудили, как создавать двумерные списки, получать доступ к их элементам, изменять их и обходить их с помощью вложенных циклов. Мы также обсудили, как можно создать двумерные списки динамически с помощью вложенных генераторов списков и как использовать индексацию и срезы для доступа к подмножествам двумерного списка.