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]