Python – Sort Matrix by None frequency


When it is required to sort a matrix by ‘None’ frequency, a method is defined that takes a parameter and uses list comprehension, ‘not’ operator and ‘len’ method to determine the result.

Example

Below is a demonstration of the same −

def get_None_freq(row):
   return len([element for element in row if not element])

my_list = [[None, 24], [None, 33, 3, None],[42, 24, 55], [13, None, 24]]

print("The list is : ")
print(my_list)

my_list.sort(key = get_None_freq)

print("The result is : ")
print(my_list)

Output

The list is :
[[None, 24], [None, 33, 3, None], [42, 24, 55], [13, None, 24]]
The result is :
[[42, 24, 55], [None, 24], [13, None, 24], [None, 33, 3, None]]

Explanation

  • A method named ‘get_None_freq’ is defined that takes a list as a parameter, and uses list comprehension to iterate over the elements and uses ‘not’ operator to check if an element is not present in the list, and determines its length.

  • This length is returned as output.

  • Outside the method, a list is defined and displayed on the console.

  • The list is sorted using the ‘sort’ method and the key is specified as the previously defined method.

  • This is the output that is displayed on the console.

Updated on: 08-Sep-2021

71 Views

Kickstart Your Career

Get certified by completing the course

Get Started
Advertisements