In this post, you will learn the python program to transpose a matrix with user input but before writing a program let’s understand Transpose of a matrix and the algorithm to implement it.

What is the Transpose of a Matrix?

If a number of elements present in rows interchange with a number of elements present in the column of the matrix then it is known as the Transpose of a matrix.

For Example:

Algorithm for Transpose of a Matrix

1Ask the user for the inputs of Rows & Columns of the matrix
2Create the matrix of m x n by using the input() function and
nested list comprehension. Here m = number of Rows and n = number of columns
3For storing the result create another matrix of n x m basically,
the resultant matrix is inverted of your original matrix and initially, it is Zero.
4use nested for-loop and do transpose[j][i] = matrix[i][j]
5the last step is to print the transpose of a matrix.

Through the above algorithm hope you understand how to implement the transpose of a matrix but before writing a program few programming concepts you have to know and they are:

  1. for-loop
  2. list comprehension &
  3. nested list comprehension

Source code

row = int(input('Enter number of row: '))
col = int(input('Enter number of col: '))

#  create a matrix using input() function and nested list comprehension
matrix = [[int(input(f'column {j+1} -> ENter {i+1} element:')) for j in range(col)] for i in range(row)]

# create another list where we store result (transpose of matrix)
transpose = [[0 for i in range(row)] for j in range(col)]

print()    # for new line

# print matrix
print('matrix: ')
for i in matrix:
    print(i)

# transpose of matrix
for i in range(row):
    for j in range(col):
        transpose[j][i] = matrix[i][j]

print()   # new line 

# print transpose of matrix
print('Transpose of matrix: ')
for i in transpose:
    print(i)

Output-1

Enter number of row: 3
Enter number of col: 3
column 1 -> ENter 1 element:1
column 2 -> ENter 1 element:2
column 3 -> ENter 1 element:3
column 1 -> ENter 2 element:4
column 2 -> ENter 2 element:5
column 3 -> ENter 2 element:6
column 1 -> ENter 3 element:7
column 2 -> ENter 3 element:8
column 3 -> ENter 3 element:9

matrix:
[1, 2, 3]
[4, 5, 6]
[7, 8, 9]

Transpose of matrix:
[1, 4, 7]
[2, 5, 8]
[3, 6, 9]

Output-2

Enter number of row: 2
Enter number of col: 3
column 1 -> ENter 1 element:1
column 2 -> ENter 1 element:2
column 3 -> ENter 1 element:3
column 1 -> ENter 2 element:4
column 2 -> ENter 2 element:5
column 3 -> ENter 2 element:6

matrix: 
[1, 2, 3]
[4, 5, 6]

Transpose of matrix: 
[1, 4]
[2, 5]
[3, 6]
Author

Hi, I'm Yagyavendra Tiwari, a computer engineer with a strong passion for programming. I'm excited to share my programming knowledge with everyone here and help educate others in this field.

Write A Comment