我可以使用范围轻松打印一系列数字,但是可以打印从-10到10的小数点后1位的范围吗?
e.g
-10.0, -9.9, -9.8
一直到+10?
答案 0 :(得分:7)
[i/10.0 for i in range(-100,101)]
(Python 3.x中不需要.0
)
答案 1 :(得分:2)
实现浮点范围的a recipe on ActiveState。在您的示例中,您可以像
一样使用它frange(-10, 10.01, 0.1)
请注意,由于floating-point representation,大多数体系结构都不会生成1位小数。如果您想要准确,请使用decimal module。
答案 2 :(得分:0)
numpy.arange
可能会很好地满足您的目的。
答案 3 :(得分:0)
print(', '.join('%.1f' % x/10.0 for x in range(-100, 101)))
应该在任何级别的Python中完成你所要求的(打印部分,即!)(当然是一个很长的行 - 几百个字符! - )。您可以在Python 2中省略外部括号,可以省略Python 3中的.0
位等,但如图所示的编码将适用于Python版本。
答案 4 :(得分:0)
定义一个简单的函数,如:
def frange(fmin, fmax, fleap):
cur=fmin
while cur<fmax:
yield cur
cur+=fleap
使用generators
调用它,例如:
my_float_range=[i for i in frange(-10,10,.1)]
可以将一些健全性检查(例如,fmin<fmax
)添加到函数体中。