numpy把一维数组当做向量,二维数组当做矩阵
1.启动jupyter notebook
2.创建一个新的notebook,并导入numpy模块
3.定义一个数组
#1.定义一个数组a
a = np.array([0,1,2])
a
#结果:array([0, 1, 2])
#2.将a乘以2
a*2
#结果:array([0, 2, 4])
#3.定义一个列表a
a = [0,1,2]
#4.将一个列表乘以2
a*2
#结果:[0, 2, 4, 0, 2, 4]
运行效果如下:
4.导入Python中的array
import array
array.array('i',[0,2,4]) * 2
#结果:array('i', [0, 2, 4, 0, 2, 4])
运行效果如下:
5.Python中的列表
#1.使用列表推导式对列表做乘法
a = [0, 2, 4]
[i*2 for i in a]
#结果:[0, 4, 8]
#2.使用for循环对列表做乘法
res = []
for i in a:
res.append(i * 2)
res
#结果:[0, 4, 8]
运行效果如下:
6.分别测试他们的性能
#1.定义一个数据范围data
data = range(10**6)
data
#结果:range(0, 1000000)
#2.测试for循环生成列表的时间
%%time
res = []
for i in data:
res.append(i * 2)
#结果:Wall time: 429 ms
#3.测试列表推导式的时间
%time res = [i*2 for i in data]
#结果:Wall time: 257 ms
#4.测试np.array的时间
arr = np.array(data)
%time res = arr * 2
#结果:Wall time: 34 ms
运行效果图如下: