Heim > Backend-Entwicklung > Python-Tutorial > Was ist der effizienteste Weg, Listen in Python elementweise hinzuzufügen?

Was ist der effizienteste Weg, Listen in Python elementweise hinzuzufügen?

Mary-Kate Olsen
Freigeben: 2024-11-26 16:00:12
Original
750 Leute haben es durchsucht

What's the Most Efficient Way to Perform Element-Wise Addition of Lists in Python?

Elementweises Hinzufügen von Listen: Ein pythonischer Ansatz

Das elementweise Hinzufügen von zwei Listen kann in Python mithilfe mehrerer integrierter Elemente mühelos durchgeführt werden. in Funktionen. So erreichen Sie dies ohne umständliche Iterationen:

Verwenden von map() mit „operator.add“:

from operator import add
result = list(map(add, list1, list2))
Nach dem Login kopieren

Die Funktion „map()“ wendet die Add-Funktion auf jeden an entsprechendes Element in Liste1 und Liste2, das eine Liste der Ergebnisse zurückgibt.

Alternativ kann zip() mit a verwendet werden Listenverständnis:

result = [sum(x) for x in zip(list1, list2)]
Nach dem Login kopieren

Die Funktion zip() ordnet die Elemente aus Liste1 und Liste2 zu einer Folge von Tupeln zusammen. Das Listenverständnis berechnet dann die Summe jedes Tupels und erzeugt die elementweise Addition.

Leistungsvergleiche:

Um die Effizienz dieser Ansätze zu vergleichen, haben wir eine Zeitmessung durchgeführt Tests an großen Listen (100.000 Elemente):

>>> from itertools import izip
>>> list2 = [4, 5, 6] * 10 ** 5
>>> list1 = [1, 2, 3] * 10 ** 5

>>> %timeit from operator import add; map(add, list1, list2)
10 loops, best of 3: 44.6 ms per loop

>>> %timeit from itertools import izip; [a + b for a, b in izip(list1, list2)]
10 loops, best of 3: 71 ms per loop

>>> %timeit [a + b for a, b in zip(list1, list2)]
10 loops, best of 3: 112 ms per loop

>>> %timeit from itertools import izip; [sum(x) for x in izip(list1, list2)]
1 loops, best of 3: 139 ms per loop

>>> %timeit [sum(x) for x in zip(list1, list2)]
1 loops, best of 3: 177 ms per loop
Nach dem Login kopieren

Wie diese Ergebnisse zeigen, ist die Der map()-Ansatz mit „operator.add“ ist für große Listen am schnellsten.

Das obige ist der detaillierte Inhalt vonWas ist der effizienteste Weg, Listen in Python elementweise hinzuzufügen?. 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