問題タブ [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 - 「yield from」ステートメントを Python 2.7 コードに変換する

Python 3.2 で以下のコードがあり、Python 2.7 で実行したかったのです。私はそれを変換しました(missing_elements両方のバージョンにコードを入れました)が、それが最も効率的な方法であるかどうかはわかりません。基本的に以下のように関数yield fromの上半分と下半分の2つの呼び出しがあるとどうなるでしょうか?親の再帰関数が呼び出しで機能し、両方の半分を一緒に使用できるようmissing_elementに、2 つの半分 (上半分と下半分) のエントリが 1 つのリストに追加されますか?yield from

0 投票する
1 に答える
2368 参照

python - 「イテラブルからの利回り」対「イターを返す(イテラブル)」

(内部) イテレータをラップする場合、__iter__メソッドを基礎となるイテラブルに再ルーティングする必要があることがよくあります。次の例を検討してください。

バリアント A と B に大きな違いはありますか? iter()バリアント A は、内部 iterable からクエリされた iterator オブジェクトを返します。バリアント B は、内部 iterable から値を返すジェネレーター オブジェクトを返します。何らかの理由でどちらかが望ましいですか?バージョンで使用されますcollections.abcyield fromバリアントは、return iter()私が今まで使用してきたパターンです。

0 投票する
1 に答える
526 参照

python - yield from を使用するこの Python プログラムが機能しないのはなぜですか?

動作する次の基本コードから始めました ( http://aaugustin.github.io/websockets/のサンプル コードのように):

これを似たようなものに少し変更しましたが、機能しなくなりました。どうしてか分かりません。変更されたバージョンは次のとおりです。

コードは「送信」行にも到達しません。

0 投票する
0 に答える
456 参照

python - Python 2 で利回りの結果を取得するにはどうすればよいですか

次のようなコードがあります。

これを Python 2.7 で動作するものに変換するにはどうすればよいですか? それは可能ですか?

Converting "yield from" statement to Python 2.7 code という質問は、結果を破棄するため、該当しません。

0 投票する
3 に答える
1601 参照

python - 「yield from」式を使用すると、返品はどうなりますか?

yield from からの戻り値の例を見つけることができませんでした。この単純なコードを試しましたが、成功しませんでした:

生成するもの:

しかし、私は期待していました:

なぜなら、PEP で述べられているように:

さらに、反復子が別のジェネレーターの場合、サブジェネレーターは値を指定して return ステートメントを実行でき、その値が yield from 式の値になります。

明らかに、私はこの説明を受けていません。return「サブジェネレーター」のa は、 に関してどのように機能しyield fromますか?

0 投票する
1 に答える
54 参照

python - Pythonのyield fromからの奇妙な結果

以下のように、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 投票する
2 に答える
1529 参照

python - Pythonで「yield from」からオブジェクトに関数を適用する

構文的に1行に詰め込む方法があるかどうか疑問に思っていました