yield ステートメントをジェネレーター式に変換することについて質問があります
したがって、関数と開始番号を入力として取得し、基本的に呼び出された前の番号ごとに関数を呼び出すこの小さなyieldメソッドがあります。
- 最初の呼び出しは初期番号を返します
- 2 番目の呼び出しは、関数 (初期番号) を返します
- 3 番目の呼び出しは関数 (2 番目の数値) を返します
- 4 番目の呼び出しは関数 (3 番目の数値) を返します
など。Python のコードは次のとおりです。
def some_func(function, number):
while True:
yield number
number = function(number)
このスニペットをジェネレータ式に変換する方法は何ですか? これを行うには非常にPythonicでエレガントな方法があると思いますが、頭がわかりません。
私はジェネレーター式にまったく慣れていないので、なぜ助けを求めているのですが、一般的な Gen Exp と特に Python の知識を広げたいと思っています。