ホームページ >バックエンド開発 >Python チュートリアル >ループ内のラムダが最後の値を取得するのはなぜですか?これを回避するにはどうすればよいですか?

ループ内のラムダが最後の値を取得するのはなぜですか?これを回避するにはどうすればよいですか?

Patricia Arquette
Patricia Arquetteオリジナル
2024-12-23 17:01:09189ブラウズ

Why Do Lambdas in Loops Capture the Last Value, and How Can This Be Avoided?

For ループのラムダが最後の値をキャプチャします

コード内:

各ラムダは変数オプションをキャプチャします、ラムダ関数の作成時に評価されます。これは、すべてのラムダが同じオプションの値をキャプチャすることを意味します。これは、ループ内で最後に取得される値です。

これを回避するには、各ラムダが異なるオプションの値をキャプチャする必要があります。これは、次のようにオプションのパラメーターを指定してラムダ構文を使用することで実行できます。

この場合、ラムダ関数はオプションの値をパラメーター opt としてキャプチャし、各ラムダが異なる値をキャプチャするようにします。オプションの値。

以上がループ内のラムダが最後の値を取得するのはなぜですか?これを回避するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。