在 Numpy 中以步长 0.05 创建从 0 到 1 的范围

Create range from 0 to 1 with step 0.05 in Numpy

我想创建一个从 01 的列表,步骤 0.05,结果将是这样的:[0, 0.05, 0.1, 0.15, 0.2, 0.25, 0.3, 0.35, 0.4, 0.45, 0.5, 0.55, 0.6, 0.65, 0.7, 0.75, 0.8, 0.85, 0.9, 0.95, 1]

我尝试使用以下代码,但输出似乎不正确。有人可以帮忙吗?谢谢。

print(np.arange(0, 1, 0.05).tolist())

输出:

[0.0, 0.05, 0.1, 0.15000000000000002, 0.2, 0.25, 0.30000000000000004, 0.35000000000000003, 0.4, 0.45, 0.5, 0.55, 0.6000000000000001, 0.65, 0.7000000000000001, 0.75, 0.8, 0.8500000000000001, 0.9, 0.9500000000000001]

没有必要使用 .tolist()。

试试这个:

a = np.arange(0, 1, 0.05)
print (a)

输出:

[0.   0.05 0.1  0.15 0.2  0.25 0.3  0.35 0.4  0.45 0.5  0.55 0.6  0.65
 0.7  0.75 0.8  0.85 0.9  0.95]

这个有效:

print(np.arange(0, 1, 0.05).round(2).tolist())

输出:

[0.0, 0.05, 0.1, 0.15, 0.2, 0.25, 0.3, 0.35, 0.4, 0.45, 0.5, 0.55, 0.6, 0.65, 0.7, 0.75, 0.8, 0.85, 0.9, 0.95]

你想要np.linspace()

np.linspace(0, 1, 21)
Out[]: 
array([0.  , 0.05, 0.1 , 0.15, 0.2 , 0.25, 0.3 , 0.35, 0.4 , 0.45, 0.5 ,
       0.55, 0.6 , 0.65, 0.7 , 0.75, 0.8 , 0.85, 0.9 , 0.95, 1.  ])