В современном мире табличные данные стали неотъемлемой частью обработки информации. Практически любое программное обеспечение активно использует структурированные таблицы для хранения и обработки различных сведений.
Примерами применения матриц являются:
- Игры на клетчатых досках (шашки, крестики-нолики и другие)
- Математические вычисления
- Анализ данных
- Системы управления базами данных
С точки зрения математики подобные табличные данные представляют собой матрицы.
| Определение |
| Матрица — это упорядоченная прямоугольная таблица, элементами которой могут быть числа, символы или другие типы данных. |
В языке программирования Python существует удобный способ хранения и обработки матриц — двумерные списки (или двумерные массивы), которые представляют собой структуру «список списков». То есть это список, элементами которого являются списки.
Например
| Матрица |
Запись в Python |
|
|
a = [[3, 5, 7], [1, 2, 9], [4, 6, 10], [2, 5, 4]]
|
При работе с табличными данными необходимо учитывать, что доступ к элементу матрицы осуществляется указанием двух значений: сначала указывается номер строки, указывается номер столбца. В Python используется нумерация с нуля. При обращении к элементу матрицы с индексом, который выходит за допустимые границы, возникает ошибка.
Например,
| Матрица |
Запись в Python |
| |
Номер столбца |
| 0 |
1 |
2 |
| Номер строки |
0 |
3 |
5 |
7 |
| 1 |
1 |
2 |
9 |
| 2 |
4 |
6 |
10 |
| 3 |
2 |
5 |
4 |
|
a = [[3, 5, 7], [1, 2, 9], [4, 6, 10], [2, 5, 4]]
print(a[1][2]) #9
print(a[2][1]) #6
print(a[1][3]) #ошибка
|
Рассмотрим способы задания матриц:
- Задание перечислением элементов:
a = [[3, 5, 7], [1, 2, 9], [4, 6, 10], [2, 5, 4]]
a = [[3, 5, 7],
[1, 2, 9],
[4, 6, 10],
[2, 5, 4]]
- Генерация матрицы, где все элементы изначально получают одинаковое значение, например «0». После создания такой матрицы можно изменять значение каждого элемента по отдельности.
a = []
for i in range(n):
a.append([0] * m)
- С использованием списочного выражения:
a = [[0] * m for i in range(n)]
3. Ввод целочисленно й матрицы с клавиатуры из n строк и m столбцов
a = [] # пустой список
for i in range(n): # цикл по количеству строк
x = list(map(int, input().split())) # считываем строку в список
a.append(x) # добавляем список x в список a
Рассмотрим способы вывода матриц: