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:} 用yield from会提高代码运行速度吗? qiuyouzhi 发表于 2020-4-3 10:10
用yield from会提高代码运行速度吗?
自己用 IPython 试试 qiuyouzhi 发表于 2020-4-3 10:10
用yield from会提高代码运行速度吗?
不知道,写起来简单倒是真的
页:
[1]