<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def first(self):
 """ Return a Query that selects only the first element of this Query. If no elements are available, returns a query with no results. Example usage: .. code:: python >> q = Query(lambda: list(range(5))) >> q.first.results [0] Returns: Query """

        def _transform(xs):  # pylint: disable=missing-docstring, invalid-name
            try:
                return [six.next(iter(xs))]
            except StopIteration:
                return []

        return self.transform(_transform, 'first')