問題タブ [generator-expression]

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 投票する
1 に答える
460 参照

python - Python での yield ステートメントのジェネレーター式への変換

yield ステートメントをジェネレーター式に変換することについて質問があります

したがって、関数と開始番号を入力として取得し、基本的に呼び出された前の番号ごとに関数を呼び出すこの小さなyieldメソッドがあります。

  • 最初の呼び出しは初期番号を返します
  • 2 番目の呼び出しは、関数 (初期番号) を返します
  • 3 番目の呼び出しは関数 (2 番目の数値) を返します
  • 4 番目の呼び出しは関数 (3 番目の数値) を返します

など。Python のコードは次のとおりです。

このスニペットをジェネレータ式に変換する方法は何ですか? これを行うには非常にPythonicでエレガントな方法があると思いますが、頭がわかりません。

私はジェネレーター式にまったく慣れていないので、なぜ助けを求めているのですが、一般的な Gen Exp と特に Python の知識を広げたいと思っています。

0 投票する
2 に答える
3156 参照

python - 初期化時の defaultdict への入力

defaultdict の呼び出し可能なファクトリを取得して、理解を設定できるようにするにはどうすればよいですか? おそらく無理だと思うのですが、正当な理由が思い浮かびませんか?

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

generator-expression - ディクショナリ ビューの Python ジェネレータが遅延評価されていないようです

私の理解では、Python ジェネレーターの式は遅延評価された内包表記を返し、基になる辞書が変更されると辞書のビュー オブジェクトが更新されます。

次のコードが与えられた場合 (Python 2.7.6 Windows):

次のような出力が期待されます。

代わりに、私は受け取っています:

ディクショナリに追加した後にジェネレーターを再作成するか、ビュー自体を印刷すると、期待される出力が表示されます。ジェネレーターについて理解していないことは何ですか? 私はpythonが初めてです。

0 投票する
2 に答える
41 参照

python - Generator Expression, access iterator

I'm trying to escape items in a list by checking them against another list of items. I can filter the list:

Now I'd like to put the escape character in front of each item found. Something like this:

Needed behaviour:

How would the generator expression have to be written to accomplish this? Is there a better way to get the desired result?

0 投票する
4 に答える
113 参照

python - ジェネレーター式を使用してオプション ディクショナリを読み込む

次の形式のオプション ファイルがあります。

key value\t\n

N:B:。一部の値では、その後にタブが表示されます。

私は次のようなコードを使用します:

ジェネレータ式を使用して同じ結果を得ることができますか??

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

python - ネストされたジェネレータ式 - 予期しない結果

テストコードは次のとおりです。

3 行目のジェネレーター式 ( ) がイテレーターを形成するという仮定の下で、最終結果はおよびnums = ...に最終的に割り当てられた値を反映すると予想されます。OTOH、そのジェネレーター式が 3 行目で評価され、結果のタプルが生成される場合、andの最初の定義が使用されることを期待します。unitstensunitstens

私が見ているのはMIXです。つまり、結果は[31, 41, 32, 42]!?

誰でもこの動作を説明できますか?

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

python - ジェネレーター式を all() に渡す

組み込み関数all()は、次と同等であると想定されています。

しかし、ジェネレータ式が に渡されるall()と、動作が異なります。

他の同様のビルトインについても同様です。それを修正する簡単な方法はありますか?(ジェネレータ式をタプルまたはリストに変換することは、フットプリントのため、実際にはオプションではありません。)

0 投票する
2 に答える
571 参照

python - Python: ジェネレーター式が使用されている場合に any() が間違った答えを返す

リスト内の要素が特定の基準を満たしているかどうかを知る必要があります。そのために、any() 関数内でジェネレーター式を使用したいのですが、出力が正しく動作しないようです。

代わりにリストを使用すると、正しい答えが得られます。

これを 2 つの異なる Windows 7 コンピューターで試しました。1 つは Python 2.7.2 で、もう 1 つは 2.7.3 です。どちらも間違った答えを返します。Python 2.7.5を搭載したマシンで誰かに試してもらい、正しい答えを得ました。ここで何が起こっているか知っている人はいますか?