คนอื่น ๆ ยกตัวอย่างว่าจะทำอย่างไรกับงูหลามบริสุทธิ์ หากคุณต้องการทำสิ่งนี้ด้วยอาร์เรย์ที่มีอิลิเมนต์ 100.000 คุณควรใช้ numpy:
In [1]: import numpy as np
In [2]: vector1 = np.array([1, 2, 3])
In [3]: vector2 = np.array([4, 5, 6])
การเพิ่มองค์ประกอบที่ชาญฉลาดตอนนี้ไม่สำคัญเท่า
In [4]: sum_vector = vector1 + vector2
In [5]: print sum_vector
[5 7 9]
เหมือนใน Matlab
กำหนดเวลาเพื่อเปรียบเทียบกับรุ่นที่เร็วที่สุดของ 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
นี่คือปัจจัย 25 ที่เร็วขึ้น! แต่ใช้สิ่งที่เหมาะสมกับสถานการณ์ของคุณ สำหรับโปรแกรมอย่างง่ายคุณอาจไม่ต้องการติดตั้ง numpy ดังนั้นให้ใช้ python มาตรฐาน (และฉันพบว่าเวอร์ชันของ Pythonic ของ Henry เป็นรุ่นที่ดีที่สุด) หากคุณกำลังเข้าสู่ภาวะวิกฤตจำนวนมากให้numpy
ทำการยกของหนัก สำหรับ freaks ความเร็ว: มันดูเหมือนว่าวิธีการแก้ปัญหา numpy n = 8
เร็วเริ่มรอบ