Given Elements List, extract numbers with specific digits.
Input : test_list = [3456, 23, 128, 235, 982], dig_list = [2, 3, 5, 4]
Output : [23, 235]
Explanation : 2, 3 and 2, 3, 5 are in digit list, hence extracted elements.
Input : test_list = [3456, 23, 28, 235, 982], dig_list = [2, 3, 5, 4, 8]
Output : [23, 28, 235]
Explanation : 2, 3; 2, 8 and 2, 3, 5 are in digit list, hence extracted elements.
Method #1 : Using list comprehension + all()
In this, we check for each element in number against the elements from target list to be present, if all are found in list, element is returned.
Python3
# Python3 code to demonstrate working of # Elements with specific digits # Using list comprehension + all() # initializing list test_list = [ 345 , 23 , 128 , 235 , 982 ] # printing original list print ( "The original list is : " + str (test_list)) # initializing digit list dig_list = [ 2 , 3 , 5 , 4 ] # checking for all digits using all() res = [sub for sub in test_list if all ( int (ele) in dig_list for ele in str (sub))] # printing result print ( "Extracted elements : " + str (res)) |
Output:
The original list is : [345, 23, 128, 235, 982] Extracted elements : [345, 23, 235]
Method #2 : Using filter() + lambda + all()
In this, filtering of elements is done using filter() + lambda, all() is used to check for all the digits from other list.
Python3
# Python3 code to demonstrate working of # Elements with specific digits # Using filter() + lambda + all() # initializing list test_list = [ 345 , 23 , 128 , 235 , 982 ] # printing original list print ( "The original list is : " + str (test_list)) # initializing digit list dig_list = [ 2 , 3 , 5 , 4 ] # filter() used to filter from logic res = list ( filter ( lambda sub : all ( int (ele) in dig_list for ele in str (sub)), test_list)) # printing result print ( "Extracted elements : " + str (res)) |
Output:
The original list is : [345, 23, 128, 235, 982] Extracted elements : [345, 23, 235]
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.