„Wenn ein Arbeiter seine Arbeit gut machen will, muss er zuerst seine Werkzeuge schärfen.“ – Konfuzius, „Die Gespräche des Konfuzius. Lu Linggong“
Titelseite > Programmierung > Lambda vs. Listenverständnis: Was eignet sich am besten für elementweise Unterschiede in Python-Listen?

Lambda vs. Listenverständnis: Was eignet sich am besten für elementweise Unterschiede in Python-Listen?

Veröffentlicht am 23.12.2024
Durchsuche:616

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

Durchführen elementweiser Unterschiede in Listen: Lambda vs. Listenverständnis

Das Finden von Unterschieden zwischen benachbarten Elementen in einer Liste ist eine häufige Operation in Programmierung. In Python gibt es mehrere Möglichkeiten, dies zu erreichen, einschließlich der Verwendung von Lambda-Ausdrücken oder Listenverständnissen.

Lambda-Ausdruck:

Ein Lambda-Ausdruck kann zum Erstellen einer Funktion verwendet werden on-the-fly, mit dem dann jedes Element in der Liste bearbeitet werden kann. Zum Beispiel:

t = [1, 3, 6]
differences = list(map(lambda i, j: j - i, t[:-1], t[1:]))

In diesem Fall ist die Lambda-Funktion lambda i, j: j - i subtrahiert das (i)-te Element von seinem (i 1)-ten Element. Die Kartenfunktion wendet diese Funktion dann auf jedes Paar benachbarter Elemente in der Liste an.

Listenverständnis:

Listenverständnis bietet eine prägnante Möglichkeit, eine neue Liste basierend auf zu erstellen auf einer bestehenden Liste. Das folgende Listenverständnis führt die gleiche Operation wie der obige Lambda-Ausdruck aus:

differences = [j - i for i, j in zip(t[:-1], t[1:])]

Die Zip-Funktion ordnet die benachbarten Elemente in der Liste paarweise zu und das Listenverständnis iteriert über diese Paare. Für jedes Paar (i, j) wird die Differenz j - i berechnet.

Vergleich:

Beide Ansätze haben ihre Vor- und Nachteile. Lambda-Ausdrücke sind vielseitiger und können in einem breiteren Spektrum von Situationen verwendet werden. Listenverständnisse sind jedoch häufig präziser und leichter zu lesen und das Listenverständnis erzeugt die folgende Ausgabe:

[2, 3]Dies liegt daran, dass Die erste Differenz (3 - 1) ist 2 und die zweite Differenz (6 - 3) ist 3.

Neuestes Tutorial Mehr>

Haftungsausschluss: Alle bereitgestellten Ressourcen stammen teilweise aus dem Internet. Wenn eine Verletzung Ihres Urheberrechts oder anderer Rechte und Interessen vorliegt, erläutern Sie bitte die detaillierten Gründe und legen Sie einen Nachweis des Urheberrechts oder Ihrer Rechte und Interessen vor und senden Sie ihn dann an die E-Mail-Adresse: [email protected] Wir werden die Angelegenheit so schnell wie möglich für Sie erledigen.

Copyright© 2022 湘ICP备2022001581号-3