Die anderen gaben Beispiele, wie dies in reinem Python gemacht wird. Wenn Sie dies mit Arrays mit 100.000 Elementen tun möchten, sollten Sie numpy verwenden:
In [1]: import numpy as np
In [2]: vector1 = np.array([1, 2, 3])
In [3]: vector2 = np.array([4, 5, 6])
Das elementweise Hinzufügen ist jetzt so trivial wie
In [4]: sum_vector = vector1 + vector2
In [5]: print sum_vector
[5 7 9]
genau wie in Matlab.
Timing zum Vergleich mit Ashwinis schnellster Version:
In [16]: from operator import add
In [17]: n = 10**5
In [18]: vector2 = np.tile([4,5,6], n)
In [19]: vector1 = np.tile([1,2,3], n)
In [20]: list1 = [1,2,3]*n
In [21]: list2 = [4,5,6]*n
In [22]: timeit map(add, list1, list2)
10 loops, best of 3: 26.9 ms per loop
In [23]: timeit vector1 + vector2
1000 loops, best of 3: 1.06 ms per loop
Das ist also ein Faktor 25 schneller! Aber verwenden Sie, was zu Ihrer Situation passt. Für ein einfaches Programm möchten Sie wahrscheinlich nicht numpy installieren, verwenden Sie also Standard-Python (und ich finde Henrys Version die pythonischste). Wenn Sie ernsthafte Zahlen knirschen, lassen numpy
Sie das schwere Heben tun. Für die Geschwindigkeitsfreaks: Es scheint, dass die Numpy-Lösung von Anfang an schneller ist n = 8
.