ホームページ >バックエンド開発 >Python チュートリアル >Python の副作用にはリスト内包表記を使用する必要がありますか?
Python の副作用にはリスト内包表記を使用する必要がありますか?
Python では、関数は戻り値ではなく副作用のために呼び出されることがよくあります。価値観。このような副作用には、画面への印刷、グラフィカル ユーザー インターフェイスの更新、ファイルへの書き込みなどが含まれる場合があります。
リスト内包表記を使用して副作用のある関数を呼び出す場合、一般的なアプローチが 2 つあります。
アプローチ 1: サイドのリストの理解効果
[fun_with_side_effects(x) for x in y if (...conditions...)]
アプローチ 2: 条件付きループ
for x in y: if (...conditions...): fun_with_side_effects(x)
質問が生じます: どちらのアプローチがより Python 的ですか?
答え: アプローチ 2 は強力です推奨
Python では副作用のためにリスト内包表記を使用することは強く推奨されません。この主な理由は、中間リストが不必要に作成されることです。このリストは作成後すぐに破棄されます。リストが大きい場合、リソースが大幅に浪費される可能性があります。
対照的に、条件付きループのアプローチでは、不要なデータ構造は作成されません。入力リスト内の各要素を直接評価し、オーバーヘッドを最小限に抑える可能性があります。
以上がPython の副作用にはリスト内包表記を使用する必要がありますか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。