永恒的蓝色梦想 发表于 2020-4-2 20:00:42

Python 实现 itertools.takewhile

这里给出两种实现class takewhile:
    def __init__(self,predicate,iterable,/):
      self.__predicate=predicate
      self.__iterable=iter(iterable)

    def __iter__(self):
      return self

    def __next__(self):
      temp=next(self.__iterable)

      if self.__predicate(temp):
            raise StopIteration

      else:
            return tempdef takewhile(predicate, iterable, /):
    for i in iterable:
      if predicate(i):
            break
      else:
            yield i如果代码有问题,欢迎在评论区指正!{:10_323:}
页: [1]
查看完整版本: Python 实现 itertools.takewhile