需求

产生0-1并且step是0.1的数据。

评论区方法

  1. np.linspace(0,1,11)
  2. np.arange(0,1,0.1).round(0)
    都行。

寻找

  1. range,python自带的,但是range(start,stop,step)中的step只能是int,遂罢。
  2. numpy.linspace,参数(start, stop, number),意思是产生从start到stop的10个均匀线性的数。我使用了linspace(0,1,10)结果给我返回这个数组:[0,0.111111111,0.2222222,0.333333,...,1]
    wtf?
  3. numpy.arange(start, stop, step),用法同Python自带的range,只不过他的step可以小数了。我使用了arange(0,1,0.1),结果出现:
    [0,0.100000001,0.2000000001,0.3,0.3000001,...,1]。emmm……这应该是numpy过于追求精确的连带的print问题吧,小数本身就表示有区别。可是我放不下心啊,我需要他精确。手动精确到小数点后一位吧.
    使用round函数,4舍6入5留双。
    [round(num,1) for num in np.arange(0,1,0.1),解决。
Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐