如何用python编写自定义生成器函数
发布时间:2020-12-20 11:49:13 所属栏目:Python 来源:网络整理
导读:我有这个 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]: 是否可以使用发电
我有这个
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,0.25): 但它的回报[-2.5,…,2.5],对于我的程序,它很难计算.因为我发现价值几乎为零,但我不知道它可能有多少组合. 我需要从零开始,下一个值必须是减号和正值. 解决方法
也许你的意思是发电机而不是lambda:
def opposing_numbers(increment,maximum): yield 0 value = increment while value <= maximum: yield -value yield value value += increment 然后将其称为: opposing_numbers(0.25,5) (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |