Skip to content
Related Articles

Related Articles

Python – Retain all K elements Rows
  • Last Updated : 03 Jul, 2020
GeeksforGeeks - Summer Carnival Banner

Sometimes, while working with Python lists, we can have a problem in which we need to retain rows which have only K as elements. This kind of application can occur in data domains which take Matrix as input. Let’s discuss certain ways in which this task can be performed.

Input : test_list = [[7, 6], [4, 4], [1, 2], [4]], K = 4
Output : [[4, 4], [4]]

Input : test_list = [[7, 6], [7, 4], [1, 2], [9]], K = 4
Output : []

Method #1 : Using list comprehension + any()
The combination of above functions provide a way in which this task can be performed. In this, we perform the task of filtering out rows which have any element other than K using any().




# Python3 code to demonstrate working of 
# Retain all K elements Rows
# Using list comprehension + any()
  
# initializing list
test_list = [[2, 4, 6], [2, 2, 2], [2, 3], [2, 2]]
  
# printing original list 
print("The original list : " + str(test_list))
  
# initializing K 
K = 2
  
# Retain all K elements Rows
# Using list comprehension + any()
res = [ele for ele in test_list if not any(el != K for el in ele)]
  
# printing result 
print("Matrix after filtering : " + str(res))
Output :



The original list : [[2, 4, 6], [2, 2, 2], [2, 3], [2, 2]]
Matrix after filtering : [[2, 2, 2], [2, 2]]

 

Method #2 : Using list comprehension + all()
The combination of above functions can be used to solve this problem. In this, we check if all the elements of row is equal to K using all().




# Python3 code to demonstrate working of 
# Retain all K elements Rows
# Using list comprehension + all()
  
# initializing list
test_list = [[2, 4, 6], [2, 2, 2], [2, 3], [2, 2]]
  
# printing original list 
print("The original list : " + str(test_list))
  
# initializing K 
K = 2
  
# Retain all K elements Rows
# Using list comprehension + all()
res = [ele for ele in test_list if all(el == K for el in ele)]
  
# printing result 
print("Matrix after filtering : " + str(res))
Output :
The original list : [[2, 4, 6], [2, 2, 2], [2, 3], [2, 2]]
Matrix after filtering : [[2, 2, 2], [2, 2]]

Attention geek! Strengthen your foundations with the Python Programming Foundation Course and learn the basics.

To begin with, your interview preparations Enhance your Data Structures concepts with the Python DS Course.

My Personal Notes arrow_drop_up
Recommended Articles
Page :