我希望我的范围从1坐标到另一个坐标,但是内置范围函数仅限于整数参数。 这有可能吗?
答案 0 :(得分:1)
numpy
提供了一个与range
类似的函数,可以使用浮点数。它被称为arange
:
>>> numpy.arange(0.1,0.5, 0.1)
array([ 0.1, 0.2, 0.3, 0.4])
答案 1 :(得分:0)
您可以非常轻松地创建自己的浮点值之间的生成器。像这样:
def myfloatrange(initial,final,step,places):
i = int(initial*10**places)
f = int(final*10**places)
s = int(step*10**places)
for x in range(i,f,s):
yield x/(10**places)
测试:
r = myfloatrange(0.1,1.1,0.13,1)
next(r) #0.1
next(r) #0.2
for x in r: print(x)
#Output:
#0.3
#0.4
#0.5
#0.6
#0.7
#0.8
#0.9
#1.0
r = myfloatrange(0.1,1.1,0.13,2)
for x in r: print(x)
#Output:
#0.1
#0.23
#0.36
#0.49
#0.62
#0.75
#0.88
#1.01
r = myrange(97.6,77.152,-1.721,3)
for x in r: print(x)
#97.6
#95.879
#94.158
#92.437
#90.716
#88.995
#87.274
#85.553
#83.832
#82.111
#80.39
#78.669
请注意,如果输入的step
小于1并且places
= 0,则会收到错误。这是因为在这种情况下,您基本上将step
设置为零,这毫无意义。