yield-from

    25热度

    2回答

    我有用于包含读和写的asyncio连接流的Connection对象: class Connection(object): def __init__(self, stream_in, stream_out): object.__init__(self) self.__in = stream_in self.__out = stream_out

    5热度

    1回答

    是否可以嵌套yield from陈述? 简单形式是显而易见的: def try_yield1(): x = range(3) yield from x 主要生产: 0 1 2 但如果我有嵌套发电机? def try_yield_nested(): x = [range(3) for _ in range(4)] yield from ((yiel

    2热度

    2回答

    所以,这里是一个Python表达式: a = yield from f() 是什么意思?它可以在哪里使用? f应该是什么样的对象?表达式评估后a的值是多少? 这里有几个问题上的计算器了Python的yield和yield from,但我没有找到一个答案。 我明白了yield x,y = yield和y = yield x的含义。即使yield from f()或多或少都可以理解。但a = yi

    2热度

    1回答

    我有一个发电机,其中有return value声明。 如果我使用它,我会按预期从它那里得到Stopiteration:value。 但是,当我使用yield fromvalue丢失。 In [1]: def test(): ...: return 1 ...: yield 2 ...: In [2]: t = test() In [3]: t Out[3

    1热度

    1回答

    我有这样一个清单: list=['2,130.00','2,140.00','2,150.00','2,160.00'] 我想用这样的函数 def f(iterable): yield from iterable ,并在同一应用 float(item.replace(',','')) for item in iterable 时间以便 f(list) 回报 [2130.0

    3热度

    1回答

    PEP 380提到可以在Python中优化yield from expr语法。 PEP 380 - Optimizations 使用专门的语法开辟了可能性为优化时,还有很长的发电机链。例如,当递归遍历树结构时,会出现这样的链。通过__next__()调用并产生值的开销会导致在最坏的情况下O(n ** 2)应该成为O(n)操作。 一种可能的策略是向生成器对象添加一个插槽以容纳委托给的生成器。当对发生

    5热度

    1回答

    我有一个函数返回一个生成器。目前,它使用yield from: function foo() { $generator = getGenerator(); // some other stuff (no yields!) yield from $generator; } 如果我更换yield from用一个简单的return,并在这种情况下改变什么?也许在执行

    0热度

    3回答

    我想实现我自己的itertools.compress版本,问题是我偶然发现了返回类型。我的意思是这两个函数都返回一个迭代器,但我认为第二个函数不被视为生成器函数,因为里面没有yield语句。所以我的问题是,这两个实现是否相同? def compress (seq, selectors): from operator import itemgetter fst = itemget