Python如何获得相同步长的小数数列 附range与numpy包中arange函数的用法与区别

用两种方法:

1、使用while语句构造循环,如

   x = []

   while i<3.0:
       i += 0.1
       x.append(i) 


2、使用numpy的函数arange():

    x = numpy.arange(-3.0, 3.0, 0.1)


自己总结一句话:

如果想得到小数数列的话可以用numpy中的arange函数,自带的range函数只能得到整数类型的序列(注意当需要小数序列时用该函数会报错)。


所以可以说arange函数的功能更加强大,因为既可以用它得到整数序列也可以得到小数序列,下面转载是详细说明。

出处:http://blog.csdn.net/weixin_37226516/article/details/60881914


range()函数

  • 函数说明: range(start, stop[, step]) -> range object,根据start与stop指定的范围以及step设定的步长,生成一个序列。
    参数含义:start:计数从start开始。默认是从0开始。例如range(5)等价于range(0, 5);
                  end:技术到end结束,但不包括end.例如:range(0, 5) 是[0, 1, 2, 3, 4]没有5
                  scan:每次跳跃的间距,默认为1。例如:range(0, 5) 等价于 range(0, 5, 1)
    函数返回的是一个range object
    例子:
    1. >>> range(0,5)                 #生成一个range object,而不是[0,1,2,3,4]   
    2. range(05)     
    3. >>> c = [i for i in range(0,5)]     #从0 开始到4,不包括5,默认的间隔为1  
    4. >>> c  
    5. [01234]  
    6. >>> c = [i for i in range(0,5,2)]   #间隔设为2  
    7. >>> c  
    8. [024]  
    1. >>> range(0,5)               #生成一个range object,而不是[0,1,2,3,4]   
    2. range(05)     
    3. >>> c = [i for i in range(0,5)]     #从0 开始到4,不包括5,默认的间隔为1  
    4. >>> c  
    5. [01234]  
    6. >>> c = [i for i in range(0,5,2)]   #间隔设为2  
    7. >>> c  
    8. [024]  
  • 若需要生成[ 0.   0.1  0.2  0.3  0.4  0.5  0.6  0.7  0.8  0.9]
    1. >>> range(0,1,0.1)    #range中的setp 不能使float  
    2. Traceback (most recent call last):  
    3.   File ”<pyshell#5>”, line 1in <module>  
    4.     range(0,1,0.1)  
    5. TypeError: ’float’ object cannot be interpreted as an integer  
    1. >>> range(0,1,0.1)    #range中的setp 不能使float  
    2. Traceback (most recent call last):  
    3.   File "<pyshell#5>", line 1in <module>  
    4.     range(0,1,0.1)  
    5. TypeError: 'float' object cannot be interpreted as an integer  

arange()函数(注意:不是arrange,虽然英文中有"arrange"单词,没有"arange"单词)

  • 函数说明:arange([start,] stop[, step,], dtype=None)根据start与stop指定的范围以及step设定的步长,生成一个 ndarray。 dtype : dtype
            The type of the output array.  If `dtype` is not given, infer the data
            type from the other input arguments.
    1. >>> np.arange(3)  
    2.   array([012])  
    3.   >>> np.arange(3.0)  
    4.   array([ 0.,  1.,  2.])  
    5.   >>> np.arange(3,7)  
    6.   array([3456])  
    7.   >>> np.arange(3,7,2)  
    8.   array([35])  
    1. >>> np.arange(3)  
    2.   array([012])  
    3.   >>> np.arange(3.0)  
    4.   array([ 0.,  1.,  2.])  
    5.   >>> np.arange(3,7)  
    6.   array([3456])  
    7.   >>> np.arange(3,7,2)  
    8.   array([35])  

    1. >>> arange(0,1,0.1)  
    2. array([ 0. ,  0.1,  0.2,  0.3,  0.4,  0.5,  0.6,  0.7,  0.8,  0.9])  
    1. >>> arange(0,1,0.1)  
    2. array([ 0. ,  0.1,  0.2,  0.3,  0.4,  0.5,  0.6,  0.7,  0.8,  0.9]) 

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值