問題タブ [generator]
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 - Python でジェネレーターの複数のレイヤーを使用する場合のパフォーマンスに関する考慮事項?
単一のジェネレーターではなく、チェーン化された多数のジェネレーターを使用する場合のパフォーマンスに関する考慮事項はありますか。
例えば:
呼び出しA(objects)
が 3 つの異なるジェネレーターを経由することは明らかですが、多くの場合、異なるフィルター処理を処理するための異なるジェネレーターがあると、コードの再利用が改善されます。この手法を使用してパフォーマンスに重大な影響があることを誰かが示すことができますか?
python - ジェネレーター関数が 2 回実行されますか?
現在のディレクトリ内の画像のリストを提供するために、Python ジェネレーター関数を使用しています。ただし、関数がリスト全体を 1 回ではなく 2 回出力していることがわかりますが、その理由はわかりません。Python PIL ライブラリを使用してバッチ サムネイルを作成しています。
誰かが私を正しい方向に向けることができますか?
脚本:
この時点でのスクリプトの出力 (いくつかのテスト イメージを含む) は次のとおりです。
それはあるべきですが:
ご覧のとおり、ジェネレーター関数はリストを 2 回返しています (確認したところ、1 回だけ呼び出されます)。
@heikogerlach: os.walk は、現在のディレクトリのファイル名を調べているときにサムネイルを見つけることができず、サムネイルは現在のディレクトリの「thumb」というサブフォルダに書き込まれます。サムネイルを 'thumb' ディレクトリに書き込む前にリストが生成され、(WinPDB を使用して) サムネイルがリストに含まれていないことを確認しました。
@S.Lott: アドバイスありがとうございます。os.path.join は問題を修正しました。
python - djangoの「ジェネレーターオブジェクト」とは何ですか?
Django投票パッケージを使用していて、シェルでget_top()メソッドを使用すると、「0x022f7AD0のジェネレーターオブジェクト」のようなものが返されます。これまでにこのようなものを見たことがありません。どのようにアクセスしますか?
私のコード:
注意:get_topはmyModelの素敵なリストを返すだけだと思いました。これは、v.nameなどのようなことができます。
python - Paste.Template に代わるものはありますか?
テンプレートの貼り付けに関するすべての小さな問題にうんざりしています。テンプレートを維持するのは恐ろしいことです。古いプロジェクトを更新する方法がなく、テストするのが非常に困難です。
クイックスタートジェネレーターが有用であることが証明されているため、誰かがクイックスタートジェネレーターの代替手段を知っているかどうか疑問に思っています。
python - Python再帰ジェネレーターの範囲
ねえ、私は再帰ジェネレーターを使って数値の固定整数パーティションを作成していましたが、スコープの問題で混乱していました。
コードはこのスニペットに似ています。
私の混乱を以下に示します。
配列のコピーを使用するだけで正しい答えを得ることができます(たとえばa[:]
、再帰呼び出しに渡す)が、それでも上記の動作を理解していません。printステートメントとyield値が異なるのはなぜですか?
ruby-on-rails - カスタム ジェネレーターでネストされたルートを生成する
フロントエンドと管理コントローラーを生成し、ルートをルートファイルに追加するジェネレーターをレールで構築しています。これでフロントエンドを動作させることができます:
しかし、ネストされた管理ルート (admin/controller_file_name) に対して同じことを行う方法がわかりません。これらのルートを生成する方法を知っている人はいますか?
python - ジェネレーターを使用してPythonで「逆重複」なしでリストの順列を生成する方法
これは、Pythonでリストのすべての順列を生成する方法に関する質問に関連しています
次の基準に一致するすべての順列を生成する方法:2つの順列が互いに逆の場合(つまり、[1,2,3,4]と[4,3,2,1])、それらは等しいと見なされ、そのうちの1つだけが最終結果になるはずです。
例:
一意の整数を含むリストを並べ替えています。
結果として生じる順列の数が多くなるので、可能であればPythonのジェネレーターを使用したいと思います。
編集:可能であれば、すべての順列のリストをメモリに保存したくありません。
python - Python イテレータを生成する一連の順序付き整数の結合
ここに一見単純な問題があります: 整数のシーケンスを昇順で生成するイテレータのリストが与えられた場合、すべてのシーケンスに現れる整数のみを生成する簡潔なジェネレータを記述します。
昨夜いくつかの論文を読んだ後、私は Python で完全に最小限のフルテキスト インデクサーをハックすることにしました(このバージョンは今ではかなり古いですが)。
私の問題は、search()
各投稿リストを反復処理し、すべてのリストに表示されるドキュメント ID のみを生成する必要がある関数にあります。上記のリンクからわかるように、現在の非再帰的な「作業」の試みはひどいものです。
例:
生成する必要があります:
これに対する洗練された再帰関数の解決策が少なくとも 1 つありますが、可能であればそれは避けたいと思います。itertools
ただし、ネストされたジェネレータ式、乱用、またはその他の種類のコード ゴルフを含むソリューションは大歓迎です。:-)
整数のセット全体をメモリに吸い込まずに、最小のリストにあるアイテムと同じ数のステップのみを関数が必要とするように調整できるはずです。将来、これらのリストはディスクから読み取られ、使用可能な RAM よりも大きくなる可能性があります。
この 30 分間、私は舌先でアイデアを思いつきましたが、それをコードにすることはできませんでした。覚えておいてください、これはただの楽しみです!
ruby-on-rails - カスタムRailsジェネレーターにスイッチを追加するにはどうすればよいですか?
私が書いているジェネレーターの一部はすべての状況で必要なわけではないので、実行するかどうかを指定できるようにスイッチを追加する必要があります。これは--skip_migrationスイッチに似ています。
これをどのように実装すればよいですか?
python - ジェネレーターから生成
引数として数値を取り、他の数値を生成するジェネレーターがあります。このジェネレーターによって生成された数値を使用し、それらを引数として同じジェネレーターに渡して、ある程度の長さのチェーンを作成したいと思います。
たとえば、mygenerator(2)は5、4、および6を生成します。これらの各数値にmygeneratorを適用し、生成された数値に繰り返し適用します。ジェネレーターは常に引数として渡された数よりも大きな数を生成し、2つの異なる数に対して同じ数を生成することはありません。
mygenerator(2):4 5 mygenerator(4):10 11 12 mygenerator(5):9300500
したがって、セット(9,10,11,12,300,500)は、元の数値2から「距離」2になります。これを数値9に適用すると、元の2から距離「3」の数値のセットが得られます。
基本的に私が欲しいのは、与えられた数から指定された距離を持つセットを作成することであり、Pythonでそれを行う方法を理解するのに問題があります。感謝します:)