ホームページ  >  記事  >  バックエンド開発  >  Python リスト内の連続する要素間の差異を計算する方法: ラムダ式とリスト内包表記

Python リスト内の連続する要素間の差異を計算する方法: ラムダ式とリスト内包表記

Linda Hamilton
Linda Hamiltonオリジナル
2024-10-29 05:10:02911ブラウズ

How to Calculate Differences Between Consecutive Elements in a Python List: Lambda Expressions vs List Comprehensions

Python でリスト要素間の違いを見つける

数値のリストが与えられた場合、私たちの目標は、連続する要素間の違いを判断することです。このタスクには、ラムダ式とリスト内包表記という 2 つのアプローチが一般的に使用されます。

ラムダ式

ラムダ式は、匿名関数を作成する簡潔な方法を提供します。この場合、ラムダ関数を使用して、2 つの隣接する要素の差を計算できます。

<code class="python">lambda i, j: j - i</code>

その後、zip を使用してリストを反復処理し、各要素を後続要素とペアにし、ラムダ関数を次の要素に適用します。差分を計算します:

<code class="python">differences = [lambda i, j: j - i for i, j in zip(t[:-1], t[1:])]</code>

リスト内包表記

リスト内包表記は、リスト操作のための強力なツールでもあります。これらは、既存のリストの値に基づいて新しいリストを構築する簡潔な方法を提供します。

<code class="python">differences = [j - i for i, j in zip(t[:-1], t[1:])]</code>

この内包では、for 句は zip によって作成された要素のペアを反復処理します。式 j - i は各ペアの差を計算し、結果の値は差分リストに保存されます。

説明のために、リスト t を考えてみましょう。 = [1、3、6]。ラムダ式またはリスト内包表記のアプローチを使用すると、次のように違いを計算できます。

<code class="python"># Lambda expression
differences = [lambda i, j: j - i for i, j in zip(t[:-1], t[1:])]
print(differences)  # [2, 3]

# List comprehension
differences = [j - i for i, j in zip(t[:-1], t[1:])]
print(differences)  # [2, 3]</code>

どちらのアプローチでも正しい結果が得られるため、どちらを使用するかの選択は個人の好みと特定の要件によって異なります。コード。

以上がPython リスト内の連続する要素間の差異を計算する方法: ラムダ式とリスト内包表記の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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