Python idiom to return first item or None

后端 未结 24 1951
清酒与你
清酒与你 2020-12-07 07:46

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

24条回答
  •  遥遥无期
    2020-12-07 08:04

    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)
    

提交回复
热议问题