問題タブ [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.
python - ジェネレータ式で値をフィルタリングする方法
以下の私の関数は、ネストされた辞書の深さを計算しています。
id
深度計算に値を持つキーを含めないように変更したいと思います。ジェネレーター式で三項を使用すると、プログラムは機能します。
しかし、フィルタリングによって機能させることができないようです:
フィルターが機能しないのはなぜですか? また、フィルターを機能させるにはどうすればよいですか?
python - センチネルが 2 回続けて発生したときに反復を停止する簡潔な方法
私は、イテラブルを取り、センチネル値が連続して 2 回現れるまで値を通過するイテレータを生成する方法を探しています。iter(a.__next__, sentinel)
センチネルが 2 回出現しなければならないことだけに似ています。
次のかなり平凡なコードがそのトリックを実行しますが、もっと冗長な解決策があるに違いありません。
したがって、具体的な質問に入れると、次のようになります。
本格的なジェネレーターを回避し、おそらくitertools
またはジェネレーター式を使用して同じことを達成する方法はありますか?
以下に 2 つの例を示します。
この質問は似ていますが、ジェネレーターの角度が欠けていることに注意してください。
python - クラス定義での python ジェネレータ式
Python 2.7.13 で単純なクラスを作成していて、驚くべきエラーが発生しました。
を与える B3 を定義する行を除いて、上記のすべての作業NameError: global name 'T' is not defined
。
なぜその行だけがエラーを出すのか不思議です。tuple(...)
と同等であるかのように書いていましたtuple([...])
が、やはり同じではないようです。
私もチェックしたところ、Python 3.4.3 は を定義する行でエラーを出し、B1
少なくともより一貫しているようですB2
。B3