Вывод элементов матрицы python

Матрица в Python – основы работы

В этой статье мы познакомим вас с матрицей Python. Каждую операцию матрицы мы будем реализовывать с помощью кода.

Что такое матрица в Python?

Матрица в Python – это прямоугольный двумерный массив, в котором данные хранятся в строках и столбцах. Матрица может хранить данные любого типа, такие как числа, строки, выражения и т. д. Мы должны ознакомиться с основными концепциями матрицы перед ее использованием.

Данные расположены по горизонтали, называемые строками, а по вертикали – столбцами. Количество элементов внутри матрицы равно (R) X (C), где R – строки, а C – столбцы. Python не имеет встроенного типа для матриц, поэтому мы будем использовать несколько списков в качестве матриц.

Мы изучим следующие операции, которые применяются к матрицам:

  • сложение матриц;
  • матричное вычитание;
  • умножение матриц;
  • скалярное произведение;
  • векторное произведение;
  • и многие другие операции.

Работа матриц

Приведенная ниже матрица имеет размер 2×2, что означает, что у нее две строки и два столбца.

Создание матрицы в Python

Мы можем создать матрицу на Python, используя вложенный список. Все элементы заключаются в квадратные скобки ([]) и разделяются запятой. Посмотрим на следующие примеры:

matrix = [[ 'Arun', 25, 90, 74], ["Sachin", 410, 87.50, 130] [56, "Abhinay", 253, 471]
  • Мы создали матрицу 3×3, используя вложенный список.
  • Первая строка содержит [‘Arun’, 25, 90, 74] в форме списка.
  • Вторая строка содержит список [‘Sachin’, 410, 87.50, 130].
  • Третья содержит [56, «Абхинай», 253, 471] в виде списка.
  • Мы замечаем, что наша матрица состоит из чисел, а также строкового значения.

Чтение матричных данных

Прочитаем каждую строку определенной матрицы.

matrix = [[ 'Arun', 25, 90, 74], ['Sachin', 410, 87.50, 130], [56, 'Abhinay', 253, 471]] print("The matrix is: ", matrix)
The matrix is: [['Arun', 25, 90, 74], ['Sachin', 410, 87.5, 130], [56, 'Abhinay', 253, 471]]

В следующем примере мы прочитаем последний элемент каждой строки с помощью программы Python.

matrix = [[ 'Arun', 25, 90, 74], ['Sachin', 410, 87.50, 130], [56, 'Abhinay', 253, 471]] matrix_length = len(matrix) #To read the last element from each row. for i in range(matrix_length): print(matrix[i][-1])

В приведенном выше коде мы создали матрицу и получили длину матрицы. Мы повторили каждую строку, используя цикл for, и напечатали результат. Можно прочитать любую строку или столбец, используя вышеуказанный метод.

Давайте разберемся со следующей работой матрицы.

Добавление двух матриц

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

mat1 = [[10, 13, 44], [11, 2, 3], [5, 3, 1]] mat2 = [[7, 16, -6], [9, 20, -4], [-1, 3 , 27]] mat3 = [[0,0,0], [0,0,0], [0,0,0]] matrix_length = len(mat1) #To Add mat1 and mat2 matrices for i in range(len(mat1)): for k in range(len(mat2)): mat3[i][k] = mat1[i][k] + mat2[i][k] #To Print the matrix print("The sum of Matrix mat1 and mat2 EnlighterJSRAW" data-enlighter-language="python">The sum of Matrix M1 and M2 = [[17, 29, 38], [20, 22, -1], [4, 6, 28]]
  • Первая и вторая матрицы – 3×3.
  • Мы инициализировали еще одну матрицу mat3, в которой будет храниться равнодействующая матрица.
  • Применили вложенный цикл for для перебора матриц, внешний цикл перебирает первую матрицу.
  • Управление передается во внутренний цикл; затем переходит ко второму внутреннему циклу, здесь значение i равно нулю, и k также равно нулю.
  • В первой итерации первые элементы mat1 и mat2, добавленные друг к другу, будет продолжаться до тех пор, пока не будут добавлены все элементы.
Читайте также:  Php apache mysql одним файлом

Умножение двух матриц

Умножение двух матриц такое же, как в приведенном выше коде, только нужно изменить оператор + на *.

mat1 = [[10, 13, 44], [11, 2, 3], [5, 3, 1]] mat2 = [[7, 16, -6], [9, 20, -4], [-1, 3 , 27]] mat3 = [[0,0,0], [0,0,0], [0,0,0]] matrix_length = len(mat1) #To Add mat1 and mat2 matrices for i in range(len(mat1)): for k in range(len(mat2)): mat3[i][k] = mat1[i][k] * mat2[i][k] #To Print the matrix print("The sum of Matrix mat1 and mat2 EnlighterJSRAW" data-enlighter-language="python">The sum of Matrix mat1 and mat2 = [[70, 208, -264], [99, 40, -12], [-5, 9, 27]]

Транспонирование матрицы

Транспонирование – это операция, при которой строка данной матрицы преобразуется в столбец и наоборот. Рассмотрим на примере.

# Program to transpose a matrix using a nested loop mat1 = [[12,7], [4 ,5], [3 ,8]] res = [[0,0,0], [0,0,0]] # iterate through rows for i in range(len(mat1)): # iterate through columns for j in range(len(mat1[0])): res[j][i] = mat1[i][j] for r in res: print(r)

В приведенном выше коде у нас есть два цикла for для перебора каждой строки и каждого столбца. Как мы видим, в приведенном выше выводе мы присвоили mat1 [i] [j] и res [j] [k].

Транспонирование с помощью списка

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

mat1 = [[12,7], [4 ,5], [3 ,8]] res = [[0,0,0], [0,0,0]] res = [[mat1[j][i] for j in range(len(mat1))] for i in range(len(mat1[0]))] for r in res: print(r)

Результат такой же, как и выше. Значение списка сократило количество строк кода и транспонировало матрицу.

Получение матричного ввода от пользователя

До сих пор мы обсуждали предварительно определенные матрицы. Но что, если пользователь хочет ввести свои данные. Итак, разберем следующий пример пользовательской матрицы.

# A example for matrix input from user row = int(input("Enter the number of rows:")) column = int(input("Enter the number of columns:")) # Initialize empty matrix matrix = [] print("Enter the entries row wise:") # For user input for i in range(row): # A outer for loop for row entries a =[] for j in range(column): # A inner for loop for column entries a.append(int(input())) matrix.append(a) # For printing the matrix for i in range(row): for j in range(column): print(matrix[i][j], end = " ") print()
Enter the number of rows:3 Enter the number of columns:3 Enter the entries row wise: 5 6 7 8 9 2 4 3 1 5 6 7 8 9 2 4 3 1

В приведенном выше коде мы взяли данные пользователя, чтобы ввести количество строк и столбцов. Мы ввели 3 строки и 3 столбца; это означает, что в матрице будет 9 элементов. В цикле for элементы вставляются в пустую матрицу с помощью функции append(). Второй цикл for используется для печати входных данных в матричном формате.

Читайте также:  Парсер pcap файлов python

Использование функции NumPy и map()

Python предоставляет внешнюю библиотеку NumPy. Она используется для научных вычислений; мы изучим NumPy с матрицей в разделе ниже и используем ее для матрицы пользовательского ввода.

Пример: Создание матрицы с использованием библиотеки NumPy

Библиотека NumPy помогает нам работать с массивом. Чтобы работать с NumPy, нам нужно установить ее, используя следующую команду.

После успешной установки мы должны импортировать ее в нашу программу.

Давайте разберемся в следующем примере.

import numpy as np mat1 = np.array([[10, -5, 15], [30, -6, 91], [2, 8, 7]]) print("The matrix is: ") print(mat1)
The matrix is: [[10 -5 15] [30 -6 91] [ 2 8 7]]

Работа с матрицей с помощью NumPy

Мы можем выполнять все операции с матрицей, используя numpy.array(), такие как сложение, вычитание, транспонирование, нарезание матрицы и т. д.

Добавление матрицы

Мы создадим две матрицы с помощью функции numpy.array() и добавим их с помощью оператора +. Давайте разберемся в следующем примере.

import numpy as np mat1 = np.array([[7, 8, 9], [3, -1, 17], [15, 10, 21]]) mat2 = np.array([[9, -18, 27], [11, 22, 33], [13, -26, 39]]) mat3 = mat1 + mat2 print("The matrix addition is: ") print(mat3)
The matrix addition is: [[ 16 -10 36] [ 14 21 50] [ 28 -16 60]]

Умножение

Мы будем использовать метод numpy.dot() для умножения обеих матриц. Это точечное умножение матриц mat1 и mat2, обрабатывает 2D-массив и выполняет умножение.

import numpy as np mat1 = np.array([[4, 6], [5, 10]]) mat2 = np.array([[3, -1], [11, 22]]) mat3 = mat1.dot(mat2) print("The matrix is:") print(mat3)
The matrix is: [[ 78 128] [125 215]]

Нарезка элементов

Мы можем разрезать элемент матрицы, как в стандартном списке Python. Нарезка возвращает элемент на основе индекса начала / конца. Мы также можем сделать отрицательную нарезку. Синтаксис приведен ниже.

Arr представляет имя матрицы. По умолчанию начальный индекс равен 0, например – [: 3], это означает, что начальный индекс равен 0. Если мы не предоставим конечное значение, он будет учитывать длину массива. Мы можем передавать отрицательные значения индекса как в начало, так и в конец. В следующем примере мы применим нарезку в обычном массиве, чтобы понять, как она работает.

import numpy as np arr = np.array([10,40,61,14,25,12,97]) print(arr[2:5]) # It will print the elements from 2 to 4 print(arr[:4]) # It will print the elements from 0 to 3 print(arr[3:]) # It will print the elements from 3 to length of the array.
[61 14 25] [10 40 61 14] [14 25 12 97]

Теперь мы реализуем нарезку по матрице. Для выполнения следуйте синтаксису ниже.

Mat1 [row_start: row_end, col_start: col_end]

В приведенном выше синтаксисе:

  • Первое начало / конец представляет строки, которые означают выбор строк матрицы.
  • Первое начало / конец представляет столбцы, которые означают выбор столбца матрицы.

Мы будем выполнять нарезку в приведенной ниже матрице.

mat1 = np.array([[4, 10, 60, 18, 20], [35, 16, 19, -12, 41], [23, 80, 42, 24, -20], [7, -10, 15, 40, 17]])

Вышеупомянутая матрица состоит из четырех строк. В 0-м ряду есть [4, 10, 60, 18, 20], в 1-й строке – [35, 16, 19, -12, 41] и так далее. В нем пять столбцов. Рассмотрим на примере.

import numpy as np mat1 = np.array([[4, 10, 60, 18, 20], [35, 16, 19, -12, 41], [23, 80, 42, 24, -20], [7, -10, 15, 40, 17]]) print(mat1[1:3, 1:4])

В приведенном выше примере мы напечатали первую и вторую строки и нарезали первый, второй и третий столбцы. Согласно синтаксису нарезки мы можем получить любые строки и столбцы.

Читайте также:  Center bold text html

Пример – печать первой строки и всех столбцов:

import numpy as np mat1 = np.array([[4, 10, 60, 18, 20], [35, 16, 19, -12, 41], [23, 80, 42, 24, -20], [7, -10, 15, 40, 17]]) print(mat1[:1, ])

Пример – печать строк матрицы:

import numpy as np mat1 = np.array([[14, 60, 29], [35, -10, 13], [4,8,12]]) print(mat1[0]) #first row print(mat1[1]) # the second row print(mat1[-1]) # -1 will print the last row
[14 60 29] [ 35 -10 13] [ 4 8 12]

Заключение

До сих пор мы обсуждали базовую матрицу с использованием Python. Матрица Python – это специализированный двумерный прямоугольный список данных. Она может состоять из чисел, строк, выражения, символов и т. д. Python не предоставляет прямого способа реализации матричного типа данных. Мы можем создать матрицу, используя вложенный список и библиотеку NumPy.

Источник

How to Print a Matrix in Python

A matrix is a two-dimensional data structure consisting of elements arranged in rows and columns. For example:

The above figure represents a 4×3 matrix since it has four rows and three columns.

Now that you know what a matrix is let us dive into the mission-critical question –

Problem Statement: Given a matrix as an input, how will you print and display it as an output in Python?

You might be wondering – “Can’t I simply print the matrix by storing it in a variable?”🤔 Unfortunately, it won’t print the input matrix. Instead, it will generate a list of lists, as shown below.

❖ Method 1: Using The NumPy Library

Python comes with a multitude of extremely powerful libraries which allow you to work with huge amounts of data with ease.

NumPy is a library in Python that is used for scientific computing and supports powerful functions to deal with N-dimensional array objects. It also provides us with functions for working in the domains of linear algebra, fourier transform, and matrices.

📓 Note: You need to install NumPy before you can use it. You can install it using –

Let’s have a look at the different ways to create and print a matrix in Python using NumPy .

1️⃣ Using numpy.array()

The array() method of the NumPy library allows you to create and print a matrix object.

Источник

Оцените статью