code: def first_where(pred, iterable, default=None):
      
      return next(six.moves.filter(pred, iterable), default)
docs: Returns the first element in an iterable that meets the given predicate.
  
      :param default: is the default value to use if the predicate matches none of the elements.