256得票9回答
Python生成器中的“send”函数的目的是什么?

我了解yield。但是生成器的send函数是做什么的呢?文档中写道: generator.send(value) 恢复执行并向生成器函数“发送”一个值。`value` 参数成为当前 `yield` 表达式的结果。`send()` 方法返回生成器产出的下一个值,如果生成器未产出其他值则引发 `S...

250得票13回答
了解Python中的生成器

我目前正在阅读Python Cookbook,关注的是生成器。但是我发现很难理解。 由于我来自Java背景,是否有Java等效的内容?书中提到了“生产者/消费者”,但是我听到这个词时会想到线程。 什么是生成器?为什么要使用它?请勿引用任何书籍(除非您能直接从书中找到一个好的、简单的答案)。...

239得票16回答
你可以使用生成器函数做什么?

我开始学习Python,遇到了生成器函数,它们在里面有一个yield语句。 我想知道这些函数在解决哪些类型的问题时非常有效。

235得票25回答
如何判断一个生成器是否从一开始就为空?

有没有一种简单的方法来测试生成器是否没有任何项,例如peek、hasNext、isEmpty等类似方法?

220得票10回答
如何在Python中检查一个对象是否是生成器对象?

在Python中,我如何检查一个对象是否是生成器对象? 尝试一下。 >>> type(myobject, generator) 给出错误 Traceback (most recent call last): File "<stdin>", line ...

218得票18回答
在Python中重置生成器对象

我有一个通过多个 yield 返回的生成器对象。准备调用此生成器是一项耗时的操作。这就是为什么我想要多次重复使用生成器的原因。y = FunctionWithYield() for x in y: print(x) #here must be something to reset 'y' fo...

210得票5回答
如何从生成器构建一个numpy数组?

我该如何使用生成器对象构建一个numpy数组? 让我举个例子来说明这个问题:>>> import numpy >>> def gimme(): ... for x in xrange(10): ... yield x ... >>&...

179得票9回答
发电机输出的长度

Python提供了一个很好的方法来获取迫切可迭代对象的长度,即使用len(x)。但是对于由生成器推导式和函数表示的惰性可迭代对象,我找不到类似的东西。当然,编写类似下面的代码也不难:def iterlen(x): n = 0 try: while True: nex...

177得票8回答
如何使用len(generator())函数

Python生成器非常有用,它们比返回列表的函数具有优势。但是你可以使用len(list_returning_function())来获取列表的长度。那么,是否有方法可以使用len(generator_function())来获取生成器的长度呢? 更新: 当然可以使用len(list(gen...

169得票16回答
Python中的迭代器可以重置吗?

我能否在Python中重置迭代器/生成器?我正在使用DictReader并希望将其重置为文件开头。