Python リスト内の要素間の差異の検索
リスト内の隣接する要素間の差異の計算は、データ分析と操作における一般的なタスクです。 2 つの一般的なソリューションには、ラムダ式とリスト内包表記が含まれます。
ラムダ式
ラムダ式は、匿名関数を定義するための簡潔な構文を提供します。ラムダ式を使用して差を計算するには、次のコードを使用できます。
<code class="python">differences = list(map(lambda x, y: y - x, t[:-1], t[1:]))</code>
このコードは、リスト t 内の要素を反復処理して、最後の要素を除き、現在の要素と次の要素の差を計算します。ラムダ関数 lambda x, y: y - x を使用します。結果の相違点は相違点リストに保存されます。
リスト内包表記
リスト内包表記は、Python でシーケンスを定義するためのよりコンパクトな方法を提供します。リスト内包表記を使用して相違点のリストを作成するには、次のコードを使用できます。
<code class="python">differences = [j - i for i, j in zip(t[:-1], t[1:])]</code>
このコードは、zip 関数を使用して、リスト t 内の要素 (最後の要素とペアを除く) を反復処理します。それらはタプルとして作成されます。各タプルには、現在の要素と次の要素が含まれます。次に、リスト内包表記は減算演算を各タプルに適用し、差分のリストを生成します。
比較
ラムダ式とリスト内包表記の両方を使用して、差分を計算できます。 Python のリスト。ただし、この特定のタスクでは、リスト内包表記の方が一般的により簡潔で読みやすくなります。また、関数を明示的に定義する必要もなくなり、場合によっては有益です。
例
リスト t=[1, 3, 6] の場合、以下のコードは、両方の方法を使用して差分を計算する方法を示しています:
<code class="python">print([j-i for i, j in zip(t[:-1], t[1:])]) # list comprehension print(list(map(lambda x, y: y - x, t[:-1], t[1:]))) # lambda expression</code>
このコードは次の結果を出力します:
[2, 3] [2, 3]
以上がPython リストの差異を計算する場合、ラムダ式とリスト内包表記はどのように比較されますか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。