Python for loop with small steps
本问题已经有最佳答案,请猛点这里访问。
如何在python中使用步骤0.01创建for循环?
我试过了,但没用:
1 2 | for X0 in range (-0.02, 0.02, 0.01): for Y0 in range (-0.06, 0.09, 0.01): |
上面写着类型错误:需要range()整数结束参数,得到float。
1 | [x * 0.01 for x in xrange(10)] |
将产生
1 | [0.0, 0.01, 0.02, 0.03, 0.04, 0.05, 0.06, 0.07, 0.08, 0.09] |
号
如果不想使用库:
1 2 3 4 5 6 7 | def float_range(a,b,c): while a < b: yield a a += c for X0 in float_range (-0.02, 0.02, 0.01): for Y0 in float_range (-0.06, 0.09, 0.01): print X0, Y0 |
。
python
1 2 3 | >>> import numpy as np >>> print np.arange(-0.02, 0.02, 0.01) array([-0.02, -0.01, 0. , 0.01]) |
在您的示例中:
1 2 | for X0 in np.arange(-0.02, 0.02, 0.01): for Y0 in np.arange(-0.06, 0.09, 0.01): |
。
或:
1 2 | >>> print [a/0.01 - 0.02 for a in range(4)] [-0.02, -0.01, 0.0, 0.009999999999999998] |