永恒的蓝色梦想 发表于 2020-4-2 19:30:08

Python 实现 itertools.chain

这里给出生成器和类两种方案def chain(*iterables):
    for iterable in iterables:
      yield from iterableclass chain:
    def __init__(self,*iterables):
      self.__iterables=map(iter,iterables)
      self.__doing=self.__iterables.__next__()

    def __iter__(self):
      return self

    def __next__(self):
      while True:
            try:
                return next(self.__doing)
            
            except StopIteration:
                self.__doing=self.__iterables.__next__()

    @classmethod
    def from_iterable(cls,iterable,/):
      return cls(*iterable)如果代码有问题,欢迎在评论区指出{:10_323:}
页: [1]
查看完整版本: Python 实现 itertools.chain