Skip to content
Related Articles
Get the best out of our app
GeeksforGeeks App
Open App
geeksforgeeks
Browser
Continue

Related Articles

Take Matrix input from user in Python

Improve Article
Save Article
Like Article
Improve Article
Save Article
Like Article

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.


My Personal Notes arrow_drop_up
Last Updated : 21 Feb, 2023
Like Article
Save Article
Similar Reads
Related Tutorials