In the previous article, we have discussed Python Program to Find Maximum Element of each Row in a Matrix
Given a matrix, the task is to find the unique matrix elements in the given matrix in python.
What is a matrix:
A matrix is a rectangular sequence of numbers divided into columns and rows. A matrix element or entry is a number that appears in a matrix.
Example:
Above is the matrix which contains 5 rows and 4 columns and having elements from 1 to 20.
In this order, the dimensions of a matrix indicate the number of rows and columns.
Here as there are 5 rows and 4 columns it is called a 5*4 matrix.
Examples:
Example1:
Input:
Given Matrix : 1 2 2 3 4 2 5 1 5
Output:
The unique matrix elements in the given matrix are : 1 2 3 4 5
Example2:
Input:
Given Matrix : 3 4 4 1 6 5 88 5 3
Output:
The unique matrix elements in the given matrix are : 3 4 1 6 5 88
Program to Find Unique Elements in a Matrix in Python
Below are the ways to find the unique matrix elements in the given matrix in python:
Method #1: Using Counter() function (Hashing, Static Input)
Approach:
- Import the Counter Function from collections using the import keyword.
- Give the matrix as static input and store it in a variable.
- Calculate the number of rows of the given matrix by calculating the length of the nested list using the len() function and store it in a variable mtrxrows.
- Calculate the number of columns of the given matrix by calculating the length of the first list in the nested list using the len() function and store it in a variable mtrxcolums.
- Take a list and initialize it to empty using [] or list() function.
- Loop till the given number of rows using the For loop.
- Inside the For loop, Iterate till the given number of columns using another Nested For loop(Inner For loop).
- Add the gvnmatrix[n][m] value to the list using the append() function where n is the iterator value of the parent For loop and m is the iterator value of the inner For loop.
- Apply the Counter function to the matrix elements list which stores the matrix element as key and its frequency as value
- Print all the keys of the mtrxfreq(using keys() function) which are the uniques values in the given matrix
- The Exit of the Program.
Below is the implementation:
# import the Counter Function from collections using the import keyword from collections import Counter # Give the matrix as static input and store it in a variable. mtrx = [[1, 2, 2], [3, 4, 2], [5, 1, 5]] # Calculate the number of rows of the given matrix by # calculating the length of the nested list using the len() function # and store it in a variable mtrxrows. mtrxrows = len(mtrx) # Calculate the number of columns of the given matrix by # calculating the length of the first list in the nested list # using the len() function and store it in a variable mtrxcols. mtrxcols = len(mtrx[0]) # take a list and initialize it to empty using [] or list() function mtrxlist = [] # Loop till the given number of rows using the For loop. for n in range(mtrxrows): # Inside the For loop, Iterate till the given number of columns using another # Nested For loop(Inner For loop). for m in range(mtrxcols): # add the gvnmatrix[n][m] value to the list using the append() function # where n is the iterator value of the parent For loop and m is the iterator # value of the inner For loop. mtrxlist.append(mtrx[n][m]) # Apply the Counter function to the matrix elements list which stores the matrix element # as key and its frequency as value mtrxfreq = Counter(mtrxlist) # Print all the keys of the mtrxfreq(using keys() function) # which are the uniques values in the given matrix print('The unique matrix elements in the given matrix are :') print(*mtrxfreq.keys())
Output:
The unique matrix elements in the given matrix are : 1 2 3 4 5
Method #2: Using Counter() function (Hashing, User Input)
Approach:
- Import the Counter Function from collections using the import keyword.
- Give the number of rows of the matrix as user input using the int(input()) function and store it in a variable.
- Give the number of columns of the matrix as user input using the int(input()) function and store it in another variable.
- Take a list and initialize it with an empty value using [] or list() to say gvnmatrix.
- Loop till the given number of rows using the For loop
- Inside the For loop, Give all the row elements of the given Matrix as a list using the list(),map(),int(),split() functions and store it in a variable.
- Add the above row elements list to gvnmatrix using the append() function.
- Take a list and initialize it to empty using [] or list() function.
- Loop till the given number of rows using the For loop.
- Inside the For loop, Iterate till the given number of columns using another Nested For loop(Inner For loop).
- Add the gvnmatrix[n][m] value to the list using the append() function where n is the iterator value of the parent For loop and m is the iterator value of the inner For loop.
- Apply the Counter function to the matrix elements list which stores the matrix element as key and its frequency as value
- Print all the keys of the mtrxfreq(using keys() function) which are the uniques values in the given matrix
- The Exit of the Program.
Below is the implementation:
# import the Counter Function from collections using the import keyword from collections import Counter # Give the number of rows of the matrix as user input using the int(input()) function # and store it in a variable. mtrxrows = int(input('Enter some random number of rows of the matrix = ')) # Give the number of columns of the matrix as user input using the int(input()) function # and store it in another variable. mtrxcols = int(input('Enter some random number of columns of the matrix = ')) # Take a list and initialize it with an empty value using [] or list() to say gvnmatrix. mtrx = [] # Loop till the given number of rows using the For loop for n in range(mtrxrows): # Inside the For loop, Give all the row elements of the given Matrix as a list using # the list(),map(),int(),split() functions and store it in a variable. l = list(map(int, input( 'Enter {'+str(mtrxcols)+'} elements of row {'+str(n+1)+'} separated by spaces = ').split())) # Add the above row elements list to gvnmatrix using the append() function. mtrx.append(l) # take a list and initialize it to empty using [] or list() function mtrxlist = [] # Loop till the given number of rows using the For loop. for n in range(mtrxrows): # Inside the For loop, Iterate till the given number of columns using another # Nested For loop(Inner For loop). for m in range(mtrxcols): # add the gvnmatrix[n][m] value to the list using the append() function # where n is the iterator value of the parent For loop and m is the iterator # value of the inner For loop. mtrxlist.append(mtrx[n][m]) # Apply the Counter function to the matrix elements list which stores the matrix element # as key and its frequency as value mtrxfreq = Counter(mtrxlist) # Print all the keys of the mtrxfreq(using keys() function) # which are the uniques values in the given matrix print('The unique matrix elements in the given matrix are :') print(*mtrxfreq.keys())
Output:
Enter some random number of rows of the matrix = 3 Enter some random number of columns of the matrix = 3 Enter {3} elements of row {1} separated by spaces = 3 4 4 Enter {3} elements of row {2} separated by spaces = 1 6 5 Enter {3} elements of row {3} separated by spaces = 88 5 3 The unique matrix elements in the given matrix are : 3 4 1 6 5 88
If you wanna write simple python programs as a part of your coding practice refer to numerous Simple Python Program Examples existing and learn the approach used.
- Python Program to Remove Elements from the Array/List Which Appear Strictly Less than k Times
- Python Program to Find Sum of all Even Frequency Elements in Matrix
- Python Program to Find Sum of all Odd Frequency Elements in Matrix
- Python Program to Calculate Sum of all Minimum Frequency Elements in Matrix