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

Susan Sarandon
Freigeben: 2024-11-05 05:58:02
Original
632 Leute haben es durchsucht

 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:

<code class="python">t = [1, 3, 6]
differences = list(map(lambda i, j: j - i, t[:-1], t[1:]))</code>
Nach dem Login kopieren

In diesem Fall subtrahiert die Lambda-Funktion lambda i, j: j - i 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 zu erstellen auf einer bestehenden Liste. Das folgende Listenverständnis führt die gleiche Operation wie der obige Lambda-Ausdruck aus:

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

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 oft prägnanter und leichter zu lesen.

Beispiel:

Gegeben sei die Liste t = [1, 3, 6], beides der Lambda-Ausdruck und das Listenverständnis erzeugt die folgende Ausgabe:

[2, 3]
Nach dem Login kopieren

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

Das obige ist der detaillierte Inhalt vonLambda vs. Listenverständnis: Was eignet sich am besten für elementweise Unterschiede in Python-Listen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
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
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage
Über uns Haftungsausschluss Sitemap
Chinesische PHP-Website:Online-PHP-Schulung für das Gemeinwohl,Helfen Sie PHP-Lernenden, sich schnell weiterzuentwickeln!