Open In App

Take Matrix input from user in Python

Improve
Improve
Improve
Like Article
Like
Save Article
Save
Share
Report issue
Report

Matrix is nothing but a rectangular arrangement of data or numbers. In other words, it is a rectangular array of data or numbers. The horizontal entries in a matrix are called as ‘rows’ while the vertical entries are called as ‘columns’. If a matrix has r number of rows and c number of columns then the order of matrix is given by r x c. Each entries in a matrix can be integer values, or floating values, or even it can be complex numbers. 

Examples:

// 3 x 4 matrix
     1 2 3 4
M =  4 5 6 7
     6 7 8 9

// 2 x 3 matrix in Python
A = ( [ 2, 5, 7 ],
      [ 4, 7, 9 ] )

// 3 x 4 matrix in Python where entries are floating numbers
B = ( [ 1.0, 3.5, 5.4, 7.9 ],
      [ 9.0, 2.5, 4.2, 3.6 ],
      [ 1.5, 3.2, 1.6, 6.5 ] )

In Python, we can take a user input matrix in different ways. Some of the methods for user input matrix in Python are shown below: 

Code #1: 

Python3




# A basic code for matrix input from user
 
R = int(input("Enter the number of rows:"))
C = int(input("Enter the number of columns:"))
 
# Initialize matrix
matrix = []
print("Enter the entries rowwise:")
 
# For user input
for i in range(R):          # A for loop for row entries
    a =[]
    for j in range(C):      # A for loop for column entries
         a.append(int(input()))
    matrix.append(a)
 
# For printing the matrix
for i in range(R):
    for j in range(C):
        print(matrix[i][j], end = " ")
    print()


Output: 

Enter the number of rows:2
Enter the number of columns:3
Enter the entries rowwise:
1
2
3
4
5
6

1 2 3 
4 5 6 

Time complexity: O(RC)
Auxiliary space: O(RC) 

One liner: 

Python3




# one-liner logic to take input for rows and columns
mat = [[int(input()) for x in range (C)] for y in range(R)]


Code #2: Using map() function and Numpy. In Python, there exists a popular library called NumPy. This library is a fundamental library for any scientific computation. It is also used for multidimensional arrays and as we know matrix is a rectangular array, we will use this library for user input matrix. 

Python3




import numpy as np
 
R = int(input("Enter the number of rows:"))
C = int(input("Enter the number of columns:"))
 
 
print("Enter the entries in a single line (separated by space): ")
 
# User input of entries in a 
# single line separated by space
entries = list(map(int, input().split()))
 
# For printing the matrix
matrix = np.array(entries).reshape(R, C)
print(matrix)


Output: 

Enter the number of rows:2
Enter the number of columns:2
Enter the entries in a single line separated by space: 1 2 3 1 
[[1 2]
 [3 1]]

Time complexity: O(RC), as the code iterates through RC elements to create the matrix.
Auxiliary space: O(RC), as the code creates an RC sized matrix to store the entries.



Last Updated : 21 Feb, 2023
Like Article
Save Article
Previous
Next
Share your thoughts in the comments
Similar Reads