# Python Program to Interchange Elements of First and Last in a Matrix Across Columns

A matrix is a two-dimensional array of many numbers arranged in rows and columns form. Python does not have any data type to represent a matrix, but we can use a nested list or NumPy array as a matrix.

See the below input output scenarios to understand how to interchange the first and last column elements of a matrix.

## Input Output Scenarios

Assume we have a 3X3 matrix represented using a list of lists. And output matrix will be the resultant matrix whose first and last column elements are interchanged.

Input matrix:
[1, 3, 4]
[4, 5, 6]
[7, 8, 3]
Output matrix:
[4, 3, 1]
[4, 5, 6]
[3, 8, 7]


Let’s consider another matrix whose rows and columns are unequal.

Input matrix:
['a', 'b']
['c', 'd', 'e']
['f', 'g', 'h', 'i']

Output matrix:
['b', 'a']
['e', 'd', 'c']
['i', 'g', 'h', 'f']


Let's see the different ways to interchange elements of first and last in a matrix across columns.

## Swapping the Columns

We can simply interchange the elements of the first and last in a matrix across columns, by swapping the first and last column elements of the matrix.

### Example

Create a matrix using a list of lists so that we can apply the list indexing techniques to swap the elements.

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

#function for displaying matrix
def display(matrix):
for row in matrix:
print(row)
print()

# displaying original matrix
print("Original matrix: ")
display(matrix)

# swap column elements
def swapColumns(matrix):
for i in range(len(matrix)):
t = matrix[i]
matrix[i] = matrix[i][-1]
matrix[i][-1] = t
return matrix

# displaying changed matrix
print("Changed matrix: ")
display(swapColumns(matrix))


### Output

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

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


The given matrix is a square matrix and we have successfully interchanged the first and last elements of the given matrix across columns, which is done by using the python positive and negative indexing.

### Example

In this example we wiil interchange the column elements of a non-square matrix.

matrix = [['a', 'b'], ['c', 'd', 'e'], ['f', 'g', 'h', 'i']]

#function for displaying matrix
def display(matrix):
for row in matrix:
print(row)
print()

# displaying original matrix
print("Original matrix: ")
display(matrix)

# swap column elements
def swapColumns(matrix):
for i in range(len(matrix)):
t = matrix[i]
matrix[i] = matrix[i][-1]
matrix[i][-1] = t
return matrix

# displaying changed matrix
print("Changed matrix: ")
display(swapColumns(matrix))


### Output

Original matrix:
['a', 'b']
['c', 'd', 'e']
['f', 'g', 'h', 'i']

Changed matrix:
['b', 'a']
['e', 'd', 'c']
['i', 'g', 'h', 'f']


The matrix rows are iterated using a for loop and the column elements are swapped using the indexes.

## Using List Manipulating Methods

In python pop(), insert(), and append() are list manipulating methods. And the matrix is created by using the list of lists so that we can use these list manipulation methods to interchange the first and last elements of the matrix across the columns.

• pop() − The pop method removes the element at the specified position. By default, it removes the last element.

### Syntax

list_obj.pop(index)

• insert() − This method can be used to insert an element at any desired position. This method takes two arguments, one is the element and the index at which the element has to be inserted.

### Syntax

list_obj.insert(index, element)

• append() − method is used to add an element at the end of the list.

### Syntax

list_obj.append(item)


### Example

Let’s take an example and apply the pop(), insert(), and append() methods.

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

#function for displaying matrix
def display(matrix):
for row in matrix:
print(row)
print()

# displaying original matrix
print("Original matrix: ")
display(matrix)

# interchanging the element between first and last columns
for row in matrix:
temp1 = row[-1]
temp2 = row
row.pop()
row.pop(0)
row.insert(0, temp1)
row.append(temp2)

# displaying changed matrix
print("Changed matrix: ")
display(matrix)


### Output

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

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


Using the temporary variables and list manipulating methods we have successfully interchanged the columns elements.

Updated on: 15-May-2023

60 Views 