問題タブ [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 に答える
12548 参照

python - 関数の引数としてのジェネレータ

ジェネレーターを関数への唯一の位置引数として渡すことが特別な規則を持っているように見える理由を誰か説明できますか?

私たちが持っている場合:

  1. これは期待どおりに機能します。

  2. 期待どおり、これは機能しません。

  3. これは期待どおりに機能します

  4. これは機能しますが、理由がわかりません。2)と同じように失敗するべきではありませんか

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

python - リスト内包表記でジェネレーターに問題がある

私は codefights で 1 つのチャレンジの 1 つのライナーを実行しようとしていますが、行き詰まっているようです:

私が実行するとき

課題は次 のとおりです。素因数が 3、5、および 7 だけである数を考えてください。それらの中で n 番目に大きいものを見つけるプログラムを作成してください。

出力例:

  • n = 1出力は次のようになります1 (3^0 * 5^0 * 7^0)
  • n = 2出力は次のようになります3 (3^1 * 5^0 * 7^0)
  • n = 6出力は次のようになります15(3^1 * 5^1 * 7^0)

ここで何が問題なのか知りたいだけです。

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

python - 次の Python ジェネレータ式が機能するのはなぜですか?

私は、野生で遭遇する一般的なジェネレータイディオムに頭を悩ませようとしています。私は長い間それに気づいていました(そしてそれを使用していました)が、それを疑問に思ったことは一度もありませんでした. toy 関数を使用したイディオムの例:

any((char in vowels) for char in string)期待どおりに動作するのはなぜですか? これはジェネレーター式だと思います(char in vowels)が、たとえば(char in vowels) for char in string、関数呼び出しの外では有効なジェネレーターではありません。

別の言い方をすれば、上記のコードが有効な場合、次のコードが機能しないのはなぜですか

(明らかに、式全体をジェネレーターにすると、期待どおりに機能します

)

ちょっとばかげた質問だと思いますが、答えはすぐにはわかりません。「構文がそのように機能するため」の単なるケースですか、それとも何か不足していますか?

0 投票する
5 に答える
3638 参照

python - ジェネレータ式を使用して、辞書のリストのキーと値のペアを出力できますか?

私は辞書のリストを持っています:

現在、次のようなキーと値のペアを出力しています。

ジェネレーター式を使用してコード行を減らすにはどうすればよいですか?

編集:コード行を減らすだけでなく、ジェネレータ式に慣れようとしています!

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

python - Python で複数のリストを初期化する

0の個別のリストとして、x、y、zを1行で初期化できる方法はありますか(リストの初期化ごとにa、b、およびcを乗算したくないため)。上記で x が更新されると、y と z も同じ変更で同時に更新されます。

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

python - これはジェネレータ式ですか?

数日前にリスト内包表記について質問しました:別のリストに表示される部分文字列を持たないリスト内のアイテムを削除するエレガントな方法

とにかく、私は私の質問に素晴らしい答えを得ました。それはリスト内包表記です:

[p for p in process_list if all(e not in p for e in exclude_list)]

私はアイデアを得て、それを自分の仕事に適用しました。e not in p for e in exclude_listしかし、その部分が正しいかどうかはわかりません。私にはジェネレータ式のように見えますが、よくわかりません。この質問は別の記事でしたほうがいいと思います。

それで、それはジェネレーター式ですか、それとも何か他のものですか?

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

python - Python3 を使用した柔軟な XML から辞書への変換

必要なデータを含む XML ファイルが提供されており、それを CSV に変換する必要があります。

これは単純なはずですが、XML の「繰り返し単位」の子の数は常に同じではありません。

私が解決しようとしているのは、各子要素の子要素がなくなるまで反復し、これを 1 つの「行」として返す方法です。最終的な出力は、辞書のリスト (CSV の「行」ごとに 1 つのリスト) である必要があります。

例として

これにより、次のようになります。

私は xml.etree.ElementTree と root.iter を使用していましたが、ループには満足していますが、そのダイナミズムには満足しています。

ここで複数のネストされたリストのロジックを使用しようとしましたが、役に立ちませんでした。誰かが私を正しい方向に向けて、新しいアプローチを提案できますか?

最後の長さが異なる辞書はcsvに書き出すのに理想的ではないことは承知していますが、目的の出力に基づいて処理できます。