**Outline: **To print a matrix in Python use –

`numpy. array()`

method, or,`numpy.matrix`

class, or,- a list comprehension +
`join()`

method `join() + map()`

methods

Table of Contents

## ❖ Overview

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

**💻 Awesome Tech Resources:**

- Looking for ⚒️ tech jobs? Go to our job portal.
- Looking for tech events? Go to tech events 🗓️ Calendar.️

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 –

pip install numpy |

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 a matrix object.

**Example:**

1 2 3 4 5 6 7 8 9 |
import numpy as np arr = np.array([[0, 1, 4, 2, 3], [4, 2, 0, 1, 5], [2, 2, 1, 0, 3], [3, 4, 5, 3, 0]]) print(arr) |

**Output:**

[[0 1 4 2 3]

[4 2 0 1 5]

[2 2 1 0 3]

[3 4 5 3 0]]

### 2️⃣ Using numpy.matrix()

The `numpy.matrix()`

class returns a matrix from an array-like object or a string of data.

**Syntax:**

numpy.matrix(data, dtype = None) |

**Example:**

1 2 3 4 5 6 7 8 9 |
import numpy as np arr = np.matrix([[0, 1, 4, 2, 3], [4, 2, 0, 1, 5], [2, 2, 1, 0, 3], [3, 4, 5, 3, 0]]) print(arr) |

**Output:**

[[0 1 4 2 3]

[4 2 0 1 5]

[2 2 1 0 3]

[3 4 5 3 0]]

**⚠️Caution:** It is not recommended to use this class anymore. Instead, you should opt for regular arrays. The class may be removed/deprecated in the future.

✨ **TRIVIA**

## ❖ Method 2: Using List Comprehension and join

✏️ In simple words, a **list comprehension** is a crisp and compact way of creating Python lists.

**Syntax: **`[`

*expression* for *item* in *iterable* if *condition* == True]

**Example:**

1 2 3 4 5 |
li = [i for i in range(1, 6)] print(li) # [1, 2, 3, 4, 5] |

✏️ `join()`

is a function in Python that takes the items of an iterable and combines them into a single string.

**Example:**

1 2 3 4 5 6 |
li = ["Java",'2','Blog'] print(''.join(li)) # Java2Blog |

Thus, you can leverage the functionality of a list comprehension along with the `join`

method to print a matrix.

**Example:**

1 2 3 4 5 6 7 8 |
arr = [[0, 1, 4, 2, 3], [4, 2, 0, 1, 5], [2, 2, 1, 0, 3], [3, 4, 5, 3, 0]] x = '\n'.join([''.join(['{:4}'.format(item) for item in row]) for row in arr]) print(x) |

**Output:**

0 1 4 2 3

4 2 0 1 5

2 2 1 0 3

3 4 5 3 0

You can also use a nested `for loop`

to replicate the above concept.

1 2 3 4 5 6 7 8 9 10 |
arr = [[0, 1, 4, 2, 3], [4, 2, 0, 1, 5], [2, 2, 1, 0, 3], [3, 4, 5, 3, 0]] for row in arr: for val in row: print(val, end=" ") print() |

But, the above code will result in 24 `print`

statements as opposed to a single `print`

statement in case of the list comprehension.

## ❖ Method 3: Using join()+map()

✏️ `map( )`

is an inbuilt method in Python that takes a function and an iterable as an input. It then executes the function by passing the iterable as an input to the function.

**Syntax:**

`map(` |

**Example:**

1 2 3 4 5 6 7 8 9 |
arr = [[0, 1, 4, 2, 3], [4, 2, 0, 1, 5], [2, 2, 1, 0, 3], [3, 4, 5, 3, 0]] for i in arr: print('\t'.join(map(str, i))) |

**Output:**

0 1 4 2 3

4 2 0 1 5

2 2 1 0 3

3 4 5 3 0

**Explanation:**

- the for loop allows you to iterate through each individual array/row within the matrix.
`map(str, i)`

converts all the items within each row to a string and then,`'\t'.join`

combines the individual items in a single string, and then each row gets printed one by one.

## Conclusion

Thus, this article unveiled numerous methods to print a matrix in Python. The simplest and the most effective way to print a matrix in Python is undoubtedly the `numpy.array()`

method as it takes care of all arrangements and dimensions without any interference for the user.

Read here: **[Fixed] ModuleNotFoundError: No module named ‘numpy’**

With that, we come to the end of this tutorial. Please **subscribe** and stay tuned for more interesting discussions in the future. Happy coding! 📚