code: def enum_mark_last(iterable, start=0):
      
      it = iter(iterable)
      count = start
      try:
          last = next(it)
      except StopIteration:
          return
      for val in it:
          yield count, False, last
          last = val
          count += 1
      yield count, True, last
docs: Returns a generator over iterable that tells whether the current item is the last one.
      Usage:
          >>> iterable = range(10)
          >>> for index, is_last, item in enum_mark_last(iterable):
          >>>     print(index, item, end='\n' if is_last else ', ')