繁体   English   中英

itertools.islice不是发电机吗?

[英]itertools.islice is not a generator?

我有一个可用于生成器和生成器功能的代码段。 当我尝试使用itertools.islice对生成器进行切片时,代码段不生成任何输出。

我研究了代码,发现以下代码段:

if isinstance(result, dict):
    self.returned(result)
elif inspect.isgenerator(result):
    for x in result:
        self.returned(x)
else:
    self.returned(result)

事实证明, inspect.isgeneratoritertools.islice返回False ,这是破坏代码的原因。 inspect.isgeneratorfunction行为相同。

  1. itertools.islice不是生成器还是生成器函数?
  2. 如何从result找出生成器或itertools.islice对象?

基于

inspect.getmembers(itertools.islice)

islice是迭代器,而不是生成器。 更多信息Python的生成器和迭代器之间的区别

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM