问题标签 [yield-from]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
6 回答
32699 浏览

python - Converting "yield from" statement to Python 2.7 code

I had a code below in Python 3.2 and I wanted to run it in Python 2.7. I did convert it (have put the code of missing_elements in both versions) but I am not sure if that is the most efficient way to do it. Basically what happens if there are two yield from calls like below in upper half and lower half in missing_element function? Are the entries from the two halves (upper and lower) appended to each other in one list so that the parent recursion function with the yield from call and use both the halves together?

0 投票
1 回答
400 浏览

python - `yield from foo()` 和 `for x in foo() 之间的区别:yield x`

在 Python 中,yield from 的大多数示例都是这样解释的

类似于

另一方面,它似乎并不完全相同,并且有一些魔法。我对使用一个我不理解的魔法函数感到有点不安。yield from为了避免陷入魔术会做我没想到的事情的情况,我必须了解什么?魔法提供了哪些我应该注意的优势?

0 投票
1 回答
313 浏览

python - python在函数中使用yield from

我有一个类似的列表:

我想使用类似的功能

并申请

同时使

返回

我知道

在这里工作,但它是为了了解如何在函数中使用 yield from 并同时修改迭代中的项目。也许我必须在函数中使用 *args 和/或 **kwargs 但不确定我有以及如何使用。

0 投票
1 回答
2368 浏览

python - “从可迭代产生”与“返回迭代(可迭代)”

包装(内部)迭代器时,通常必须将__iter__方法重新路由到底层迭代器。考虑以下示例:

变体 A 和 B 之间是否存在显着差异?变体 A 返回一个迭代器对象,该对象已通过iter()内部可迭代对象进行查询。变体 B 返回一个生成器对象,该对象从内部可迭代对象中返回值。出于某种原因,其中一个更可取吗?在版本中使用collections.abc。变体是我到目前为止使用的模式yield fromreturn iter()

0 投票
1 回答
526 浏览

python - 为什么这个使用 yield from 的 Python 程序不起作用?

我从以下有效的基本代码开始(如http://aaugustin.github.io/websockets/上的示例代码):

我将其修改为类似但不再有效的东西。我不知道为什么。这是修改后的版本:

代码甚至没有到达“发送”行。

0 投票
0 回答
456 浏览

python - 如何从 Python 2 中获得收益的结果

我的代码看起来有点像:

我如何将其转换为可在 Python 2.7 中使用的东西?这甚至可能吗?

“yield from”语句转换为 Python 2.7 代码 的问题不适用,因为它会丢弃结果。

0 投票
3 回答
1601 浏览

python - 使用“yield from”表达式时,return 有什么作用?

我无法从yield from 表达式中找到任何返回值的示例。我试过这个简单的代码,但没有成功:

产生:

但我期待:

因为,正如 PEP 中所述:

此外,当迭代器是另一个生成器时,允许子生成器执行带有值的 return 语句,并且该值成为 yield from 表达式的值。

显然,我没有得到这个解释。return“子生成器”中的 a如何与 相关yield from

0 投票
1 回答
54 浏览

python - python中yield的奇怪结果

我在 python 中有一个深度优先搜索示例代码,如下所示。

但是如果我修改如下代码,输出很奇怪。我所做的只是在最后一行的递归调用之前修改路径。问题是什么?

例如,对于图,g = { "a" : ["d"], "b" : ["c"], "c" : ["b", "c", "d", "e"], "d" : ["a", "c", "e"], "e" : ["c"], "f" : ["g"], "g" : ["f"] } 有时“a”和“e”之间的路径输出为['a', 'd', 'c', 'b', 'e'],['a', 'd', 'c', 'b', 'e', 'e'],有时输出变为['a', 'd', 'e']

0 投票
1 回答
870 浏览

python - 从具有返回值的生成器中产生在里面声明

我有一个带有return value语句的生成器。如果我在它上面使用下一个,我会得到 Stopiteration:value从它按预期。但是,当我使用时yield from丢失value了。

有没有办法value在使用时保留yield from?这是按预期工作还是可能是一个错误?

0 投票
2 回答
1529 浏览

python - 为python中的“yield from”对象应用函数

我想知道是否有一种方法可以在语法上将其压缩成一行