Junior — Senior
44
Разные подходы к ускорению функции поиска первого совпадения
任务条件
Предложите несколько методов ускорения функции fetch_first_match, применяя генераторы, встроенные возможности Python и безопасные приёмы работы со значением по умолчанию.
def fetch_first_match(condition, items=None):
if items is None:
items = []
matches = [elem for elem in items if condition(elem)]
if matches:
first = matches[0]
return first
return None
fetch_first_match(lambda x: x == 1, [2, 3, 4])