(Using Python 3.1)
I know this question has been asked many times for the general question of testing if iterator is empty; obviously, there\'s no neat solution to t
def f(lst):
# if you want the exact same filtering as the original, you could use
# lst = [item for item in lst if (item is not None and item != 0)]
lst = [item for item in lst if item]
if lst: return min(lst)
else: return None
the list comprehension only allows items that don't evaluate to boolean false (which filters out 0 and None)
an empty list i.e. [] will evaluate to False, so "if lst:" will only trigger if the list has items