143得票3回答
一个生成器函数的返回类型提示是什么?

我正在尝试为生成器函数编写一个:rtype:类型提示。它返回的是什么类型?例如,假设我有这个生成器函数,它产生字符串: def read_text_file(fn): """ Yields the lines of the text file one by one. ...

140得票8回答
生成器推导式是如何工作的?

生成器推导式是什么?它是如何工作的?我找不到关于它的教程。

128得票1回答
如果在Python 3.3中range()是一个生成器,为什么我不能在range上调用next()函数?

也许我已经受到了网络上的错误信息的影响,但更可能的是我误解了某些东西。 根据我目前所学的知识,range()是一个生成器,生成器可以用作迭代器。 然而,这段代码:myrange = range(10) print(next(myrange)) 给我这个错误:TypeError: 'range'...

116得票4回答
Python中的enumerate函数是否是惰性的?

我想知道当我将生成器函数的结果传递给Python的enumerate()函数时会发生什么。例如:def veryBigHello(): i = 0 while i < 10000000: i += 1 yield "hello&q...

113得票7回答
生成器可以递归吗?

我天真地尝试创建一个递归生成器,但失败了。这是我做的:def recursive_generator(lis): yield lis[0] recursive_generator(lis[1:]) for k in recursive_generator([6,3,9,1])...

106得票18回答
如何在Python生成器中向前查看一个元素(peek)?

我不知道如何在Python生成器中预测下一个元素。一旦我看到它,它就消失了。 这就是我的意思:gen = iter([1,2,3]) next_value = gen.next() # okay, I looked forward and see that next_value = 1 # ...

104得票8回答
如何循环遍历生成器

如何循环遍历生成器?我考虑了以下方法:gen = function_that_returns_a_generator(param1, param2) if gen: # in case the generator is null while True: try: ...

104得票8回答
异步/等待和ES6生成器中的yield有什么区别?

我刚刚读了这篇非常棒的文章《生成器》,它清楚地突出了这个函数,这是处理生成器函数的辅助函数:function async(makeGenerator){ return function () { var generator = makeGenerator.apply(this, a...

102得票3回答
Python函数中使用yield的正确类型注释

在阅读了Eli Bendersky的文章关于通过Python协程实现状态机后,我想... 看到他的示例在Python3下运行 并且为生成器添加适当的类型注释 我已经成功完成了第一部分(但没有使用async def或yield from,我基本上只是将代码进行移植 - 所以任何改进都非常...

102得票3回答
Python:使用递归算法作为生成器

最近我编写了一个函数,用于生成具有非平凡约束条件的某些序列。这个问题自然而然地带来了一个递归解法。现在问题在于,即使对于相对较小的输入,序列也有数千个,因此我更喜欢将我的算法用作生成器,而不是将其用于填充包含所有序列的列表。 以下是一个示例。假设我们想要使用递归函数计算一个字符串的所有排列。...