Вложенные списки (двумерные массивы, матрицы)
В Python можно создавать вложенные списки, которые представляют собой списки, содержащие другие списки в качестве своих элементов.
Вот пример вложенного списка в Python:
nested_list = [[1, 2, 3], [4, 5, 6], [7, 8, 9]]
Этот код создает список nested_list
, который содержит три вложенных списка в качестве своих элементов. Каждый из вложенных списков представляет строку матрицы.
Вы можете обратиться к элементам вложенного списка, используя индексацию. Например, чтобы получить доступ к элементу "5" в списке, вы можете использовать следующий код:
value = nested_list[1][1]
print(value) # Вывод: 5
При обращении к элементу вложенного списка указываются два индекса, сначала индекс строки, затем индекс столбца.
Для работы с вложенными списками используются циклы.
Например:
for row in nested_list:
for item in inner_list:
print(item)
Этот код выведет все элементы вложенного списка.
Также вы можете создавать вложенные списки динамически с помощью генераторов списков:
matrix = [[0 for _ in range(3)] for _ in range(3)]
print(matrix) # Вывод: [[0, 0, 0], [0, 0, 0], [0, 0, 0]]
Этот код создает матрицу 3x3, заполненную нулями, используя генератор списка.
Перебор элементов матрицы
Перебирать элементы матрицы можно как по строкам, так и по столбцам.
Перебор по строкам
matrix = [[1, 2, 3], [4, 5, 6], [7, 8, 9]]
# Перебор по строкам
for row in matrix:
print(*row)
Этот код выведет каждую строку матрицы по отдельности, элементы строки будут разделены пробелом.
Тоже самое, но перебор по индексам
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(a[i][j], end=' ')
print() # после вывода всех элементов строки
# необходимо перейти на новую строку
Сравните этот код и следующий
Перебор по столбцам
matrix = [[1, 2, 3], [4, 5, 6], [7, 8, 9]]
# Получаем количество строк и столбцов в матрице
rows = len(matrix)
cols = len(matrix[0])
# Предполагаем, что все строки имеют одинаковый размер
# Перебор по столбцам
for j in range(cols):
for i in range(rows):
print(matrix[i][j])
print()
Ввод элементов матрицы с клавиатуры
Чаще всего элементы матрицы задаются построчно.
# Запрос размеров матрицы у пользователя
num_rows, num_cols = map(int, input().split())
# Создание пустой матрицы
matrix = []
# Ввод элементов матрицы построчно
for i in range(num_rows):
row_values = list(map(int, input().split()))
matrix.append(row_values)
# Вывод полученной матрицы
for row in matrix:
print(row)