Heim  >  Artikel  >  Backend-Entwicklung  >  So berechnen Sie Unterschiede zwischen aufeinanderfolgenden Elementen in einer Python-Liste: Lambda-Ausdrücke vs. Listenverständnis

So berechnen Sie Unterschiede zwischen aufeinanderfolgenden Elementen in einer Python-Liste: Lambda-Ausdrücke vs. Listenverständnis

Linda Hamilton
Linda HamiltonOriginal
2024-10-29 05:10:02911Durchsuche

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

Unterschiede zwischen Listenelementen in Python finden

Anhand einer Liste mit numerischen Werten besteht unser Ziel darin, die Unterschiede zwischen aufeinanderfolgenden Elementen zu bestimmen. Für diese Aufgabe werden üblicherweise zwei Ansätze verwendet: Lambda-Ausdrücke und Listenverständnisse.

Lambda-Ausdrücke

Lambda-Ausdrücke bieten eine prägnante Möglichkeit, anonyme Funktionen zu erstellen. In diesem Fall kann eine Lambda-Funktion verwendet werden, um die Differenz zwischen zwei benachbarten Elementen zu berechnen:

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

Wir können dann mit zip über die Liste iterieren, um jedes Element mit seinem Nachfolger zu koppeln und die Lambda-Funktion darauf anzuwenden Berechnen Sie die Unterschiede:

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

Listenverständnisse

Listenverständnisse sind auch ein leistungsstarkes Werkzeug zur Listenmanipulation. Sie bieten eine prägnante Möglichkeit, eine neue Liste basierend auf den Werten in einer vorhandenen Liste zu erstellen:

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

In diesem Verständnis iteriert die for-Klausel über die von zip erstellten Elementpaare. Der Ausdruck j - i berechnet die Differenz zwischen jedem Paar und die resultierenden Werte werden in der Differenzenliste gespeichert.

Beispiel

Zur Veranschaulichung betrachten wir die Liste t = [1, 3, 6]. Mithilfe des Lambda-Ausdrucks oder des Listenverständnisansatzes können wir die Unterschiede wie folgt berechnen:

<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>

Beide Ansätze liefern das richtige Ergebnis, sodass die Wahl des zu verwendenden Ansatzes von den persönlichen Vorlieben und den spezifischen Anforderungen abhängt der Code.

Das obige ist der detaillierte Inhalt vonSo berechnen Sie Unterschiede zwischen aufeinanderfolgenden Elementen in einer Python-Liste: Lambda-Ausdrücke vs. Listenverständnis. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn