How to remove sublists whose values fall outside a numeric range in a list of lists with Python

1 Answer

0 votes
def filter_by_value_range(lst, low, high):
    return [
        sub for sub in lst
        if all(low <= x <= high for x in sub)
    ]

'''
[1, 2]  No	
[10, 20]  No	
[3, 4]  3 is too small	
[100]  100 is too large	
[5, 6]  Both 5 and 6 are in the range	
[7, 8]  8 is too large
'''


list_of_list = [[1, 2], [10, 20], [3, 4], [100], [5, 6], [7, 8]]
low = 4
high = 7

result = filter_by_value_range(list_of_list, low, high)
print(result)



'''
run:

[[5, 6]]

'''

 



answered Feb 17 by avibootz
...