Heim >Backend-Entwicklung >Python-Tutorial >Wie vergleichen sich Lambda-Ausdrücke und Listenverständnisse bei der Berechnung von Unterschieden in Python-Listen?

Wie vergleichen sich Lambda-Ausdrücke und Listenverständnisse bei der Berechnung von Unterschieden in Python-Listen?

Linda Hamilton
Linda HamiltonOriginal
2024-10-31 09:39:29558Durchsuche

  How Do Lambda Expressions and List Comprehensions Compare When Calculating Differences in Python Lists?

Unterschiede zwischen Elementen in Python-Listen finden

Das Berechnen der Unterschiede zwischen benachbarten Elementen in einer Liste ist eine häufige Aufgabe bei der Datenanalyse und -bearbeitung. Zwei beliebte Lösungen umfassen Lambda-Ausdrücke und Listenverständnisse.

Lambda-Ausdrücke

Lambda-Ausdrücke bieten eine prägnante Syntax zum Definieren anonymer Funktionen. Um Unterschiede mithilfe eines Lambda-Ausdrucks zu berechnen, können Sie den folgenden Code verwenden:

<code class="python">differences = list(map(lambda x, y: y - x, t[:-1], t[1:]))</code>

Dieser Code iteriert über die Elemente in der Liste t, mit Ausnahme des letzten Elements, und berechnet die Differenz zwischen dem aktuellen und dem nächsten Element mit der Lambda-Funktion Lambda x, y: y - x. Die resultierenden Unterschiede werden in der Differenzenliste gespeichert.

List Comprehensions

List Comprehensions bieten eine kompaktere Möglichkeit, Sequenzen in Python zu definieren. Um mithilfe eines Listenverständnisses eine Liste von Unterschieden zu erstellen, können Sie den folgenden Code verwenden:

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

Dieser Code verwendet die Zip-Funktion, um über die Elemente in der Liste t zu iterieren, mit Ausnahme des letzten Elements und der Paare sie als Tupel auf. Jedes Tupel enthält das aktuelle Element und das nächste Element. Das Listenverständnis wendet dann die Subtraktionsoperation auf jedes Tupel an und generiert eine Liste von Unterschieden.

Vergleich

Sowohl Lambda-Ausdrücke als auch Listenverständnisse können zur Berechnung von Unterschieden verwendet werden Python-Listen. Allerdings sind Listenverständnisse für diese spezielle Aufgabe im Allgemeinen prägnanter und lesbarer. Sie vermeiden auch die Notwendigkeit, eine Funktion explizit zu definieren, was in manchen Fällen von Vorteil sein kann.

Beispiel

Gegeben sei die Liste t=[1, 3, 6] , der folgende Code zeigt, wie die Differenzen mit beiden Methoden berechnet werden:

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

Dieser Code gibt das folgende Ergebnis aus:

[2, 3]
[2, 3]

Das obige ist der detaillierte Inhalt vonWie vergleichen sich Lambda-Ausdrücke und Listenverständnisse bei der Berechnung von Unterschieden in Python-Listen?. 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