ホームページ >バックエンド開発 >Python チュートリアル >要素ごとのベクトル加算を実行する最も Python 的な方法は何ですか?

要素ごとのベクトル加算を実行する最も Python 的な方法は何ですか?

Susan Sarandon
Susan Sarandonオリジナル
2024-11-29 01:39:11575ブラウズ

What's the Most Pythonic Way to Perform Element-wise Vector Addition?

要素ごとのベクトル加算: 最も Python 的なアプローチ

2 つのリスト list1 と list2 があり、要素ごとに加算して、新しいリストを作成します。これを達成するための最も Python 的な方法は何ですか?

リストを反復処理するという潜在的に遅くて冗長なタスクを回避するために、2 つの非常に効率的な Python 的なオプションがあります:

  1. 地図を活用するOperator.add:
from operator import add
list(map(add, list1, list2))

このアプローチでは、map() 関数を使用して、演算子モジュールからの追加操作をリスト内の対応する要素の各ペアに適用します。結果は、リストに変換されるジェネレーター オブジェクトです。

  1. zip によるリスト内包表記の使用:
[sum(x) for x in zip(list1, list2)]

ここでは、zip () は 2 つのリストの要素をペアに結合します。各ペアは加算対象の対応する要素を表します。次に、リスト内包表記はこれらのペアを反復処理し、sum() を使用してそれらの値を累積し、必要な要素ごとの加算結果をリストとして出力します。

大きなリストの場合は、zip の代わりに高速な itertools.izip を使用することを検討してください。パフォーマンスの最適化のために。ただし、どちらのアプローチも、ほとんどのシナリオで優れた効率を実現します。

以上が要素ごとのベクトル加算を実行する最も Python 的な方法は何ですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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