魔法命令
%timeit 对于单行语句进行时间测试,跟代码写同一行
%%timeit:测试整个单元的运行时间 ,用起来比在SublimeText等计时方便多了。
迭代器
下面是使用迭代器生成一个列表的快捷方法,可以代替for循环,语法更加简洁。
[key for key, value in np.typeDict.items() if value is np.float64] # 非常简洁的把数据挑了出来
关于运算速度
如果是单纯数字运算,没必要使用numpy的数值类型。numpy的数值类型,进行浮点运算速度会慢于Python内置浮点类型,因为它包含了更多的信息在每一个元素中。所以接下来,比如求解微分方程等,都有 x.tolist() 的命令,即把数据类型转换成Python内置类型。
产生等分区间
使用 linspace() 和 logspace(), 不包含终点,步长很容易算!如 [ 0 , 1 , 10 ] [0, 1, 10] [0,1,10], 那么步长就是 ( 1 − 0 ) 10 = 0.1 \frac{(1-0)}{10}=0.1 10(1−0)=0.1。 这些命令多用于画图和求解微分方程,产生每一个时间点。
Numpy里快速产生列表
np.zeros(4, np.int)
注意用法里面有指定类型
数组
区分 共享内存和 不共享内存的区别
共享是因为,只是按顺序截取,出于简单的原则,没必要再开辟一段存储空间(切片方式截取)
不共享,是那种挑着找元素的情况。
总结
好久没打开博客,发现这篇写一半,就顺手补充完整。