I\'m sure there\'s a simpler way of doing this that\'s just not occurring to me.
I\'m calling a bunch of methods that return a list. The list may be empty. If the
Borrowing more_itertools.first_true code yields something decently readable:
def first_true(iterable, default=None, pred=None): return next(filter(pred, iterable), default) def get_first_non_default(items_list, default=None): return first_true(items_list, default, pred=lambda x: x!=default)