問題タブ [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.
python - 「yield from」ステートメントを Python 2.7 コードに変換する
Python 3.2 で以下のコードがあり、Python 2.7 で実行したかったのです。私はそれを変換しました(missing_elements
両方のバージョンにコードを入れました)が、それが最も効率的な方法であるかどうかはわかりません。基本的に以下のように関数yield from
の上半分と下半分の2つの呼び出しがあるとどうなるでしょうか?親の再帰関数が呼び出しで機能し、両方の半分を一緒に使用できるようmissing_element
に、2 つの半分 (上半分と下半分) のエントリが 1 つのリストに追加されますか?yield from
python - 「イテラブルからの利回り」対「イターを返す(イテラブル)」
(内部) イテレータをラップする場合、__iter__
メソッドを基礎となるイテラブルに再ルーティングする必要があることがよくあります。次の例を検討してください。
バリアント A と B に大きな違いはありますか? iter()
バリアント A は、内部 iterable からクエリされた iterator オブジェクトを返します。バリアント B は、内部 iterable から値を返すジェネレーター オブジェクトを返します。何らかの理由でどちらかが望ましいですか?バージョンで使用されますcollections.abc
。yield from
バリアントは、return iter()
私が今まで使用してきたパターンです。
python - yield from を使用するこの Python プログラムが機能しないのはなぜですか?
動作する次の基本コードから始めました ( http://aaugustin.github.io/websockets/のサンプル コードのように):
これを似たようなものに少し変更しましたが、機能しなくなりました。どうしてか分かりません。変更されたバージョンは次のとおりです。
コードは「送信」行にも到達しません。
python - Python 2 で利回りの結果を取得するにはどうすればよいですか
次のようなコードがあります。
これを Python 2.7 で動作するものに変換するにはどうすればよいですか? それは可能ですか?
Converting "yield from" statement to Python 2.7 code という質問は、結果を破棄するため、該当しません。
python - 「yield from」式を使用すると、返品はどうなりますか?
yield from
式からの戻り値の例を見つけることができませんでした。この単純なコードを試しましたが、成功しませんでした:
生成するもの:
しかし、私は期待していました:
なぜなら、PEP で述べられているように:
さらに、反復子が別のジェネレーターの場合、サブジェネレーターは値を指定して return ステートメントを実行でき、その値が yield from 式の値になります。
明らかに、私はこの説明を受けていません。return
「サブジェネレーター」のa は、 に関してどのように機能しyield from
ますか?
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']
。
python - Pythonで「yield from」からオブジェクトに関数を適用する
構文的に1行に詰め込む方法があるかどうか疑問に思っていました