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))
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)]
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
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!