ホームページ > バックエンド開発 > Python チュートリアル > Python で繰り返し計算された結果を効率的に蓄積するにはどうすればよいですか?

Python で繰り返し計算された結果を効率的に蓄積するにはどうすればよいですか?

Mary-Kate Olsen
リリース: 2024-12-27 22:57:09
オリジナル
592 人が閲覧しました

How to Efficiently Accumulate Results from Repeated Calculations in Python?

繰り返しの計算から結果を蓄積する方法

次のシナリオを考えてみましょう: 値に基づいて y に値を割り当てる計算があるとします。 ×。この計算を x のさまざまな値に対して複数回実行し、結果を有用なデータ構造に収集したいとします。

明示的ループ

これは最も簡単なアプローチです。ループの前にリストまたは辞書を作成し、各計算結果をそれに追加します。例:

def make_list_with_inline_code_and_for():
    ys = []
    for x in [1, 3, 5]:
        ys.append(x + 1)
    return ys
ログイン後にコピー

リスト内包表記またはジェネレーター式

リスト内包表記は、既存のシーケンスからリストを作成する簡潔な方法を提供します:

ys = [x + 1 for x in xs]
ログイン後にコピー

ジェネレータ式はリストに代わる遅延手段を提供します内包表記。

Map

Map は関数を受け取り、それをシーケンス内の各要素に適用して、別のシーケンスを生成します。次のように使用できます。

ys = list(map(calc_y, xs))
ログイン後にコピー

追加の考慮事項

  • 各要素を個別に処理する必要がある既存の入力の場合に for ループを使用します。
  • 既存の計算式に計算を適用するには、内包表記またはジェネレータ式を使用します。
  • (1) 入力シーケンスが利用可能な場合、(2) 計算に関数または呼び出し可能関数が必要な場合、および (3) 結果を別のデータ構造に明示的に変換する必要がある場合、マップを使用します。
  • 固定数の出力要素を作成するために while ループを使用しないでください。代わりに、ダミー範囲を生成します。
  • ほとんどの場合、簡素化と柔軟性のためにマップよりリスト内包表記を優先します。
  • ジェネレーター式は、結果を遅延評価する必要がある場合に便利で、不必要なメモリ消費を回避します。

以上がPython で繰り返し計算された結果を効率的に蓄積するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート