一、NumPy

1. Python list 

list 本质是一个 容器,它可以存放任意类型的对象,并且元素类型不要求一致

例如:

        a = [1, "hello", 3.14, True]

list 里存的不是数,存的是指向对象的地址

也就是说:

list -> [指针, 指针, 指针, 指针]
              ↓      ↓
             int   string

所以也就造成了它并不适合做数值运算,因为它根本不知道自己存的是数值

例如:

a = [1, 2, 3]

print(a * 2)
输出是:
[1, 2, 3, 1, 2, 3]

而且它计算使用的是for循环,会很慢

2. NumPy

对比一下 NumPy:

import numpy as np
a = np.array([1, 2, 3])
print(a * 2)

输出:

[2 4 6]

这是因为 NumPy array 在设计时就假设里面装的一定是“同类型的数字”

更多推荐