在python中要产生一个数字序列,最快的方法就是使用range和linspace函数,但是这两者不太一样,但总的来说实现的效果是一致的,都能获取一个数字序列。
range
range一看其名就知道是产生一个范围的序列,但是具体要怎么用,还是需要说一说的。其调用主要是以下几种形式:
range(n)
就是产生从0-n的一个数字序列,python中当你没有指定序列的起始点的时候,默认是从0开始。而步长也默认是1,即数字序列按增量1指定区间取数。这里着重注意下,数字序列是不包括n的,即[0,n)这样的开区间。
L= range(5)
运行结果:L = [0,1,2,3,4]
range(m,n)
该函数同时指定了起始点m,结束点n,产生[m,n)步长为1的数字序列.
L =range(10,15)
运行结果: L=[10,11,12,13,14]
range(m,n,step)
当然你也可以指定步长,来获取想要的数字序列。
L = range(10,20,3)
运行结果:L=[10,13,16,19]
linspace
linspace函数就比较复杂点,因为它是外部库的函数,所以在调用之前需要import库。总的来说,它就是按线性方法在指定区间取数。
而且它不像range那样能指定步长,这是它们之间的区别,如linspace(m,n,z) z是指定在m、n之间取点的个数,另外它取点的区间是[m,n],即是会包括终点n的。注意没有linspace(m)这种形式,它内部最少要传递2个参数,但是这样的linspace(m,n)并不可控,所以要想获得你所想要的数字序列,最好使用linspace(m,n,z)形式。
#导入外部包
import numpy as np
# L= np.linspace(10,15)
L = np.linspace(10,15,5)