Python Program to Create Matrix of n*n
In this tutorial, we will learn to create a n*n (n by n) matrix in Python. Where n is the number of rows or columns. n*n matrix has an equal number of rows and columns and is a square matrix.
For creating a matrix in Python, we need multi-dimensional data structures. Python does not have a built-in type for matrices but we can treat a nested list or list of a list as a matrix. The List is an ordered set of elements enclosed in square brackets [ ]. Each element in the list will be then treated as a row of a matrix. For example,
Input: N=2
Output: [ [1,2], [3,4] ]
To create a matrix, we require nested lists, there are different ways for creating a nested list in Python.
- By using list comprehension
-
By using next() and itertools.count() Function
We will be using these methods for creating a n*n matrix.
Approach 1: list comprehension
We will use list comprehension to store rows and columns in the list. List comprehension is a shorter syntax for writing concise codes in Python.
Algorithm
Follow the algorithm to understand the approach better.
Step 1- Define the dimension of a matrix
Step 2- Use a list comprehension to create a matrix having the defined dimensions
Step 3- Print the resulting matrix
Python Program 1
Look at the program to understand the implementation of the above-mentioned approach. This program will work for a 4x4 matrix. We have used .format() to print the values where the placeholder is mentioned.
n = 4
matrix = [list(range(1 + n * i, 1 + n * (i + 1))) for i in range(n)]
print("The created matrix of {} * {}: ".format(n,n))
for m in matrix:
print(m)
The created matrix of 4 * 4:
[1, 2, 3, 4]
[5, 6, 7, 8]
[9, 10, 11, 12]
[13, 14, 15, 16]
Approach 2: next() and itertools.count()
In our program, we will use the count function to start the count of numbers and the next function will create the consecutive sublists. We will use list comprehension to handles the matrix.
Algorithm
Follow the algorithm to understand the approach better.
Step 1-Import itertools package
Step 2- Define the dimension of the matrix
Step 3- Use count() to start the count of the number
Step 4- Use a list comprehension to store rows and columns in a new list
Step 5-Use next() for creating sublists and store the matrix in the list
Step 6- Print the resulting matrix
Python Program 2
Look at the program to understand the implementation of the above-mentioned approach. This program will work for a 5X5 matrix.
import itertools
# initializing N
n = 5
temp = itertools.count(1)
matrix = [[next(temp) for i in range(n)] for i in range(n)]
print("The created matrix of {} * {}: ".format(n,n))
for m in matrix:
print(m)
The created matrix of 5 * 5:
[1, 2, 3, 4, 5]
[6, 7, 8, 9, 10]
[11, 12, 13, 14, 15]
[16, 17, 18, 19, 20]
[21, 22, 23, 24, 25]
Conclusion
In this tutorial, we have learned two ways for creating square matrices in Python. We have learnt how to use list comprehension for creating a square matrix. We have also seen how to use count() and next() function in itertools package to create a matrix in Python.