Python – Remove the row if all elements equal to N

Sometimes, while handling data, especially in the Machine Learning domain, we need to go through a lot of similar N-equal data. We sometimes need to eliminate the rows which are all equal to N. Let’s discuss certain ways to remove the rows that have all N values as list columns.
Method #1: Using list comprehension + count() + len() We can perform this particular task using the list comprehension recipe, partnered with the combination of len and count function to check for similarity element counter equating to the length of list.
Python3
# Python3 code to demonstrate# N row deletion in Matrix# using list comprehension + count() + len()# initializing matrixtest_list = [[1, 4, 2], [False, 9, 3], [6, 6, 6], [1, 0, 1]]# printing original listprint("The original list : " + str(test_list))# initializing NN = 6# using list comprehension + count() + len()# N row deletion in Matrixres = [sub for sub in test_list if sub.count(N) != len(sub)]# print resultprint("The list after removal of N rows : " + str(res)) |
The original list : [[1, 4, 2], [False, 9, 3], [6, 6, 6], [1, 0, 1]] The list after removal of N rows : [[1, 4, 2], [False, 9, 3], [1, 0, 1]]
Time complexity: O(M^N) as the number of combinations generated is M choose N.
Auxiliary space: O(M^N) as the size of the resultant list is also M choose N.
Method #2: Using list comprehension + set() This particular task can also be performed by converting the entire row into a set and then checking for the single value N set for equality and removing if a match is found.
Python3
# Python3 code to demonstrate# N row deletion in Matrix# using list comprehension + set()# initializing matrixtest_list = [[1, 4, 2], [False, 9, 3], [6, 6, 6], [1, 0, 1]]# printing original listprint("The original list : " + str(test_list))# initializing NN = 6# using list comprehension + set()# N row deletion in Matrixres = [sub for sub in test_list if set(sub) != {N}]# print resultprint("The list after removal of N rows : " + str(res)) |
The original list : [[1, 4, 2], [False, 9, 3], [6, 6, 6], [1, 0, 1]] The list after removal of N rows : [[1, 4, 2], [False, 9, 3], [1, 0, 1]]
Time complexity: O(M^N) as the number of combinations generated is M choose N.
Auxiliary space: O(M^N) as the size of the resultant list is also M choose N.
Method #3 : Using len() method
Python3
# Python3 code to demonstrate# N row deletion in Matrix# initializing matrixtest_list = [[1, 4, 2], [False, 9, 3], [6, 6, 6], [1, 0, 1]]# printing original listprint("The original list : " + str(test_list))# initializing NN = 6res = []for i in test_list: if([i[0]]*len(i) != i): res.append(i)# print resultprint("The list after removal of N rows : " + str(res)) |
The original list : [[1, 4, 2], [False, 9, 3], [6, 6, 6], [1, 0, 1]] The list after removal of N rows : [[1, 4, 2], [False, 9, 3], [1, 0, 1]]
Time complexity: O(M^N) as the number of combinations generated is M choose N.
Auxiliary space: O(M^N) as the size of the resultant list is also M choose N.
Method #4 : Using remove()+filter()+copy() +lambda functions
Python3
# Python3 code to demonstrate# N row deletion in Matrix# initializing matrixtest_list = [[1, 4, 2], [False, 9, 3], [6, 6, 6], [1, 0, 1]]# printing original listprint("The original list : " + str(test_list))# initializing NN = 6for i in test_list.copy(): temp = list(filter(lambda x: x == 6, i)) if(len(temp) == len(i)): test_list.remove(i)# print resultprint("The list after removal of N rows : " + str(test_list)) |
The original list : [[1, 4, 2], [False, 9, 3], [6, 6, 6], [1, 0, 1]] The list after removal of N rows : [[1, 4, 2], [False, 9, 3], [1, 0, 1]]
Time Complexity: O(N*N)
Auxiliary Space : O(1)
Method #5 : Using a for loop
Python3
test_list = [[1, 4, 2], [False, 9, 3], [6, 6, 6], [1, 0, 1]]# printing original listprint("The original list : " + str(test_list))N = 6result = []for row in test_list: if N not in row: result.append(row)# print resultprint("The list after removal of N rows : " + str(result))#This code is contributed by Jyothi pinjala |
The original list : [[1, 4, 2], [False, 9, 3], [6, 6, 6], [1, 0, 1]] The list after removal of N rows : [[1, 4, 2], [False, 9, 3], [1, 0, 1]]
Time Complexity: O(N)
Auxiliary Space : O(N)
Method #6 : Using operator.countOf() method
Approach
- Initiated for loop to traverse the nested list
- Used if condition to check whether count(operator.countOf()) of N is equal to length of list
- If the condition is satisfied append the row to output list
- Display the output list
Python3
# Python3 code to demonstrate# N row deletion in Matrix# initializing matrixtest_list = [[1, 4, 2], [False, 9, 3], [6, 6, 6], [1, 0, 1]]# printing original listprint("The original list : " + str(test_list))# initializing NN = 6res = []import operatorfor i in test_list: if(operator.countOf(i,N)!=len(i)): res.append(i)# print resultprint("The list after removal of N rows : " + str(res)) |
The original list : [[1, 4, 2], [False, 9, 3], [6, 6, 6], [1, 0, 1]] The list after removal of N rows : [[1, 4, 2], [False, 9, 3], [1, 0, 1]]
Time Complexity: O(N)
Auxiliary Space : O(N)



