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]]
'''