python要生成一个浮点数序列怎么生成?

上课的时候老师用MATLAB中a=(1:0.1:10)生成一个序列。我想用python中的numpy.arange(1,10,0.1)实现同样的效果。然后发现用arange生成的序列中较多的数据不能间隔0.1。我知道计算机中存放浮点数会存在误差。但假如我用a=arange(10,100,1),a=a/10实现的效果,每个查看下来就比较精准。然后在MATLAB中实现的效果是少数不准确。我想问一下如果想生成一个小数序列,那个方式比较推荐? 

 

请试试linsapce函数。该函数至少需要3个参数:起点、终点、返回的点数,关键字参数endpoind指定是否包含终点。

>>> import numpy as np
>>> a = np.linspace(1, 10, 90, endpoint=False)
>>> a[4]
1.4
>>> a
array([1. , 1.1, 1.2, 1.3, 1.4, 1.5, 1.6, 1.7, 1.8, 1.9, 2. , 2.1, 2.2,
       2.3, 2.4, 2.5, 2.6, 2.7, 2.8, 2.9, 3. , 3.1, 3.2, 3.3, 3.4, 3.5,
       3.6, 3.7, 3.8, 3.9, 4. , 4.1, 4.2, 4.3, 4.4, 4.5, 4.6, 4.7, 4.8,
       4.9, 5. , 5.1, 5.2, 5.3, 5.4, 5.5, 5.6, 5.7, 5.8, 5.9, 6. , 6.1,
       6.2, 6.3, 6.4, 6.5, 6.6, 6.7, 6.8, 6.9, 7. , 7.1, 7.2, 7.3, 7.4,
       7.5, 7.6, 7.7, 7.8, 7.9, 8. , 8.1, 8.2, 8.3, 8.4, 8.5, 8.6, 8.7,
       8.8, 8.9, 9. , 9.1, 9.2, 9.3, 9.4, 9.5, 9.6, 9.7, 9.8, 9.9])