code: def only(it):
      
  
      if isinstance(it, Sized):
          if len(it) != 1:
              raise AssertionError('Expected one value, found %s' % len(it))
          # noinspection PyUnresolvedReferences
          return list(it)[0]
  
      lst = tuple(islice(it, 2))
      if len(lst) == 0:
          raise AssertionError('Expected one value, found 0')
      if len(lst) > 1:
          raise AssertionError('Expected one value, found several')
      return lst[0]
docs: >>> only([7])
      7
      >>> only([1, 2])
      Traceback (most recent call last):
      ...
      AssertionError: Expected one value, found 2
      >>> only([])
      Traceback (most recent call last):
      ...
      AssertionError: Expected one value, found 0
      >>> from itertools import repeat
      >>> only(repeat(5))
      Traceback (most recent call last):
      ...
      AssertionError: Expected one value, found several
      >>> only(repeat(5, 0))
      Traceback (most recent call last):
      ...
      AssertionError: Expected one value, found 0