Двумерные массивы

ИНФОРМАТИКА   |   Последнее обновление 14.09. 2024 Admin   |  

В задачах часто приходится хранить данные в виде таблиц. Такой вид данных называется матрицами, или двумерными массивами. В языке программирования Python нет многомерных массивов, однако любая таблица может быть представлена списком списков, то есть каждый элемент списка является списком. Основы списка (List) Список в Python - это упорядоченная коллекция элементов любого типа. Для сравнения, массив - это упорядоченная коллекция элементов одного типа, поэтому список принципиально более гибок, чем массив, но именно эта гибкость делает вещи немного сложнее, если вы хотите работать с обычной структурой. Список также является динамически изменяемым типом, и это означает, что вы можете добавлять и удалять элементы из списка в любое время.

Рассмотрим пример записи двумерного массива:
my_list1 = [[11, 12, 5, 2],[15, 6, 10, 5],[10, 8, 12, 5],  [12, 15]]
Следует отметить, что двумерный массив может иметь разное количество столбцов и строк.

 

Следует отметить, что двумерный массив может иметь разное количество столбцов и строк.
Двумерные массивы могут содержать разные типы данных:
 my_list2 = [[11,    12,  5,   2], [’hello’, ’hi’,’salem’], [10.1, 8.2, 12.4, 3.5],[12, 15]]
Данный массив my_list2 состоит из вложенных списков разных типов данных, как int, string, float.
Результатом вывода my_list2 будет (рис. 1):

рис. 1

Доступ к значениям в двумерном массиве

Элементы данных в двухмерных массивах могут быть доступны с использованием двух индексов. Один индекс ссыла­ется на основной массив, а другой - на позицию элемента данных во внутреннем массиве. Если мы упомянем только один индекс, тогда весь внутренний массив будет напечатан для этой позиции индекса. Пример ниже иллюстрирует, как это работает:

print(my_listl[0]) - выводит на экран [11, 12, 5, 2]
print(my_listl[1][2]) - выводит на экран 10

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

Приведенный выше код дает следующий результат (рис.2):

рис. 2

Практикум. Вставка и удаление элемента в двумерном массиве
Вставка значений в двумерный массив
Мы можем вставить новые элементы в определенную позицию, используя метод insert () и указав индекс. Задание 1. В приведенном ниже примере новый элемент данных вставляется в позиции индекса 2.

Удаление значений в двумерном массиве
Используя метод del(), можно удалить весь внутренний массив или конкретные элементы данных внутреннего массива путем переопределения значений с помощью индекса. Но если нам нужно удалить определенные элементы данных в одном из внутренних массивов, следует использовать процесс обнов­ления, описанный ниже.
Задание 2.
В этом примере выполняется удаление элемента массива.

Задание 3. (Для самостоятельного решения)
Произвольно задайте двумерный массив в виде матрицы 5x5. Замените все значения элементов четных столбцов на О, а нечетных столбцов на 1.

Задачи на двумерные массивы

Задание 1. Напишите программу в Python, которая принимает две цифры m (строка) и n (столбец) в качестве входных данных и генерирует двумерный массив. Значение элемента в строке i и столбце j массива должно быть i * j.

Запрашиваем количество строк и столбцов. Заполняем двумерный массив размером row*column нулями. Заменяем каждый элемент на пересечении индексов строк и столбцов их произведениями. Например, значение элемента матрицы на 2-й строке и в 3-м столбце выводится таким образом: индекс второй строки равен 1, так как индексация в массиве начина­ется с 0; соответственно индекс 3-го столбца равен 2. Значение элемента my list[l] [2] = 1*2=2. Выводим массив на экран.

Задание 2. Напишите программу, которая считает размер­ность двумерного массива и заполнит его случайными числами между 0 и 50. Выведите на экран сумму каждого столбца и про­изведение каждой строки в двумерном массиве.

Задание 3. (Для самостоятельного решения)
Разработайте программу, которая выводит таблицу умно­жения. Полученный результат должен быть представлен в виде списка. Дополните программу вопросом с выводом ответа: «Чему равно произведение 5 * 5?» и т.п.

 

Page 1 of 1 1