我有这个
for A in [0, -0.25, 0.25, -0.5, 0.5, -0.75, 0.75, -1.0, 1.0, -1.25, 1.25, -1.5, 1.5, -1.75, 1.75, -2.0, 2.0, -2.25, 2.25, -2.5, 2.5, -2.75, 2.75, -3.0, 3.0, -3.25, 3.25, -3.5, 3.5, -3.75, 3.75, -4.0, 4.0, -4.25, 4.25, -4.5, 4.5, -4.75, 4.75, -5.0, 5.0]:
是否可以使用发电机功能?我现在有这个:
def frange(start, stop, step=1.0):
while start <= stop:
yield start
start += step
并使用这样的:
for error in self.frange(-2.5, 2.5, 0.25):
但它的回报[-2.5,2.25,…,0,2.25,2.5],对于我的程序,它很难计算.因为我发现价值几乎为零,但我不知道它可能有多少组合.
我需要从零开始,下一个值必须是减号和正值.
比如[0,-0.25,0.25 …].
最佳答案 也许你的意思是发电机而不是lambda:
def opposing_numbers(increment, maximum):
yield 0
value = increment
while value <= maximum:
yield -value
yield value
value += increment
然后将其称为:
opposing_numbers(0.25, 5)