Những người khác đã đưa ra ví dụ làm thế nào để làm điều này trong python thuần. Nếu bạn muốn làm điều này với các mảng có 100.000 phần tử, bạn nên sử dụng numpy:
In [1]: import numpy as np
In [2]: vector1 = np.array([1, 2, 3])
In [3]: vector2 = np.array([4, 5, 6])
Thực hiện bổ sung phần tử khôn ngoan bây giờ cũng tầm thường như
In [4]: sum_vector = vector1 + vector2
In [5]: print sum_vector
[5 7 9]
giống như trong Matlab.
Thời gian để so sánh với phiên bản nhanh nhất của Ashwini:
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
Vì vậy, đây là một yếu tố 25 nhanh hơn! Nhưng sử dụng những gì phù hợp với tình hình của bạn. Đối với một chương trình đơn giản, có lẽ bạn không muốn cài đặt numpy, vì vậy hãy sử dụng python tiêu chuẩn (và tôi thấy phiên bản của Henry là phiên bản Pythonic nhất). Nếu bạn đang rơi vào tình trạng khủng hoảng số nghiêm trọng, hãy numpy
thực hiện việc nâng vật nặng. Đối với những kẻ cuồng tốc độ: có vẻ như giải pháp numpy bắt đầu nhanh hơn xung quanh n = 8
.