タグ付けされた質問 「generator」

ジェネレータは、主にイテレータの記述を簡略化するために使用されるサブルーチンの一般化です。ジェネレーターのyieldステートメントは、ジャンプ先のコルーチンを指定せず、親ルーチンに値を返します。

6
ジェネレーターによるasync / awaitとES6のyieldの違い
この素晴らしい記事«ジェネレーター»を読んでいたところ、ジェネレーター関数を処理するためのヘルパー関数であるこの関数が明確に強調されています。 function async(makeGenerator){ return function () { var generator = makeGenerator.apply(this, arguments); function handle(result){ // result => { done: [Boolean], value: [Object] } if (result.done) return Promise.resolve(result.value); return Promise.resolve(result.value).then(function (res){ return handle(generator.next(res)); }, function (err){ return handle(generator.throw(err)); }); } try { return handle(generator.next()); } catch (ex) { return Promise.reject(ex); } …

7
ジェネレーターをループする方法
ジェネレーターをどのようにループできますか?私はこのように考えました: gen = function_that_returns_a_generator(param1, param2) if gen: # in case the generator is null while True: try: print gen.next() except StopIteration: break もっとパイソン的な方法はありますか?
81 python  generator 

7
2番目のものが短いzip圧縮されたPythonジェネレーター:サイレントに消費される要素を取得する方法
(潜在的に)異なる長さの2つのジェネレーターを解析したいzip: for el1, el2 in zip(gen1, gen2): print(el1, el2) ただし、gen2要素の数が少ない場合、の1つの追加要素gen1が「消費」されます。 例えば、 def my_gen(n:int): for i in range(n): yield i gen1 = my_gen(10) gen2 = my_gen(8) list(zip(gen1, gen2)) # Last tuple is (7, 7) print(next(gen1)) # printed value is "9" => 8 is missing gen1 = my_gen(8) gen2 = my_gen(10) list(zip(gen1, …

5
ジェネレーターを呼び出す関数から戻るか、それとも譲りますか?
私はジェネレーターgeneratorとそれに便利なメソッドを持っています- generate_all。 def generator(some_list): for i in some_list: yield do_something(i) def generate_all(): some_list = get_the_list() return generator(some_list) # <-- Is this supposed to be return or yield? すべきgenerate_all returnかyield?私は両方の方法のユーザーにそれを同じように使用して欲しい、すなわち for x in generate_all() 等しいはずです some_list = get_the_list() for x in generate(some_list)

3
ほとんどのpythonic callableはTrueを生成しますか?
このクラスcollections.defaultdictは、デフォルト値を生成するために使用されるデフォルトファクトリを取ります。 dict-likeオブジェクトに含まれる値のデフォルトをFalseにする必要がある場合、インスタンスは次のように作成できます。 d_false = defaultdict(bool) デフォルト値の同じことを達成するための最もpythonicな方法は何Trueですか? 言い換えると、標準の呼び出し可能なオブジェクトが返さTrueれるのboolですか? もちろん、ファクトリーはラムダ式として構築できます。 d_true = defaultdict(lambda: True) しかし、これは車輪を再発明するかもしれません。
11 python  generator 

2
PHP:「return」、「yield」、「yield from」の違いと、同じ関数でyieldとreturnの両方を混合することの違いは何ですか?
違いreturnとyield、私はそこに考え出しまでクリアな見えたでもあったyield fromとの両方を組み合わせることが可能returnとyield全く同じ機能で! 私の理解returnは、その後のすべてが実行されなかったということでしたね? しかしながら: function generate(): iterable { return [1, 2, 3]; } foreach (generate() as $value) { echo $value; } プロデュース: "123" しかし、以下: function generate(): iterable { return [1, 2, 3]; yield; } foreach (generate() as $value) { echo $value; } 何も生産しない!つまり、利回りが実行されるということですか? これはバグですか?
10 php  return  generator  yield 
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.