これが他の場所で回答された質問である場合は申し訳ありません。Google と Stackforum を検索しても、答えを推定できるものは何も見つかりませんでした。しかし、私はその一部が私であるように感じます.
私は概念としてラムダを解決しようとしています。その一環として、ラムダを使用する方法を探しています。
だから、これが関数の観点からラムダを扱うのが非常に愚かなことである場合は、遠慮なく私に知らせて説明してください。しかし、いずれにせよ、私はまだ答えを知りたい/Python言語でこれを行う方法を知りたい.
だから、テスト目的のために私は持っています:
my_test = 'test_name'
testlist = ['test_name', 'test_name_dup', 'test_name_dup_1', 'test_name_dup_3']
ラムダを使用して、ループしてテストリストにない最初の test_name_# を返す 1 つの関数を作成しようとしています。この機能は最終的にファイル名に適用される予定ですが、テスト目的で、ファイル名を実際に読み取ることから離れなければなりませんでした。
ただし、my_test は変更できる必要があり、テスト リストはファイルパスのリストになります。
だから、私は次のような関数を探しています:
new_name = lambda x: my_test + '_' + str(x)
ただし、初期値は x = 1 である必要があり、new_name が testlist になくなるまで継続する必要があります。のように思える:
bool(new_name not in testlist)
何かうまくいくかもしれません。
しかし、最初の x を 1 に設定し、bool が true になるまで (x+1) でループする方法がわかりません。
ファイル内の行をループしているCRAZYラムダの例をいくつか見つけたので、これが可能であることを知っています。私はそれらを完全に理解することができませんでした (そして、彼らは私のプログラミングレベルの外のものを扱っていたので、それらをいじる方法がありませんでした.
関連して、このループの先頭に値を追加できますか? (つまり、test_name、次に test_name_dup、次に test_name_dup_# をチェックすることはできますか?)
助けてくれてありがとう!ラムダは(非常にクールですが)私の頭を完全に混乱させます。