Skip to content
Related Articles

Related Articles

Python – Filter rows with Elements as Multiple of K
  • Last Updated : 01 Oct, 2020

Given a Matrix, extract rows with elements multiple of K.

Input : test_list = [[5, 10, 15], [4, 8, 12], [100, 15], [5, 10, 23]], K = 4 
Output : [[4, 8, 12]] 
Explanation : All are multiples of 4.

Input : test_list = [[5, 10, 15], [4, 8, 11], [100, 15], [5, 10, 23]], K = 4 
Output : [] 
Explanation : No rows with all multiples of 4. 

Method #1 : Using list comprehension + all()

In this, we check for all elements to be multiple using all(), and iteration of rows occur using list comprehension.



Python3

filter_none

edit
close

play_arrow

link
brightness_4
code

# Python3 code to demonstrate working of
# Access element at Kth index in String
# Using list comprehension + all()
  
# initializing string list
test_list = [[5, 10, 15], [4, 8, 3], [100, 15], [5, 10, 23]]
  
# printing original list
print("The original list is : " + str(test_list))
  
# initializing K
K = 5
  
res = [sub for sub in test_list if all(ele % K == 0 for ele in sub)]
  
# printing result
print("Rows with K multiples : " + str(res))

chevron_right


Output

The original list is : [[5, 10, 15], [4, 8, 3], [100, 15], [5, 10, 23]]
Rows with K multiples : [[5, 10, 15], [100, 15]]

Method #2 : Using filter() + lambda + all()

In this, we perform task of filtering using filter() and lambda function and task of checking for all elements in rows using all().

Python3

filter_none

edit
close

play_arrow

link
brightness_4
code

# Python3 code to demonstrate working of 
# Access element at Kth index in String
# Using filter() + lambda + all()
  
# initializing string list
test_list = [[5, 10, 15], [4, 8, 3], [100, 15], [5, 10, 23]]
  
# printing original list
print("The original list is : " + str(test_list))
  
# initializing K 
K = 5
  
# using all() to check for all elements being multiples of K
res = list(filter(lambda sub : all(ele % K == 0 for ele in sub), test_list))
  
# printing result 
print("Rows with K multiples : " + str(res))

chevron_right


Output

The original list is : [[5, 10, 15], [4, 8, 3], [100, 15], [5, 10, 23]]
Rows with K multiples : [[5, 10, 15], [100, 15]]

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 :