ラムダとリストの内包表記: Python リストの要素ごとの違いにはどちらが最適ですか?

Susan Sarandon
リリース: 2024-11-05 05:58:02
オリジナル
695 人が閲覧しました

 Lambda vs. List Comprehension: Which is Best for Element-wise Differences in Python Lists?

リスト内の要素ごとの差異の実行: ラムダとリストの内包表記

リスト内の隣接する要素間の差異を見つけることは、プログラミング。 Python では、ラムダ式やリスト内包表記の使用など、これを実現する方法がいくつかあります。

ラムダ式:

ラムダ式を使用して関数を作成できます。オンザフライで、リスト内の各要素を操作するために使用できます。例:

<code class="python">t = [1, 3, 6]
differences = list(map(lambda i, j: j - i, t[:-1], t[1:]))</code>
ログイン後にコピー

この場合、ラムダ関数 lambda i, j: j - i は、(i) 番目の要素をその (i 1) 番目の要素から減算します。次に、マップ関数はこの関数をリスト内の隣接する要素の各ペアに適用します。

リスト内包表記:

リスト内包表記は、ベースに新しいリストを作成する簡潔な方法を提供します。既存のリストにあります。次のリスト内包表記は、上記のラムダ式と同じ操作を実行します。

<code class="python">differences = [j - i for i, j in zip(t[:-1], t[1:])]</code>
ログイン後にコピー

zip 関数はリスト内の隣接する要素をペアにし、リスト内包表記はこれらのペアを反復処理します。各ペア (i, j) について、差 j - i が計算されます。

比較:

どちらのアプローチにも長所と短所があります。ラムダ式はより汎用性が高く、幅広い状況で使用できます。ただし、リスト内包表記の方が簡潔で読みやすい場合がよくあります。

例:

リスト t = [1, 3, 6] の場合、どちらもラムダ式です。リスト内包表記は次の出力を生成します:

[2, 3]
ログイン後にコピー

これは、最初の差 (3 - 1) が 2 であり、2 番目の差 (6 - 3) が 3 であるためです。

以上がラムダとリストの内包表記: Python リストの要素ごとの違いにはどちらが最適ですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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