gpt4 book ai didi

python - itertools.islice 不是生成器?

转载 作者:太空宇宙 更新时间:2023-11-03 19:11:05 24 4
gpt4 key购买 nike

我有一个适用于生成器和生成器函数的代码片段。当我尝试使用 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 是一个迭代器,而不是生成器。更多信息Difference between Python's Generators and Iterators

关于python - itertools.islice 不是生成器?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12979592/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com