Lambda函数内部的python迭代过程

Lambda函数内部的python迭代过程,第1张

Lambda函数内部的python迭代过程

出于多样性的考虑:

lambda m, s: next(x for x in (m + np.random.randn() * s for _ in iter(int, 1)) if x >= 0)

一种非递归解决方案,它利用和的两个参数形式

iter
和两个生成器表达式

iter(int, 1)
调用,
int()
直到返回为止
1
,这根本不可能发生。因此内部生成器表达式

(m + np.random.randn() * s for _ in iter(int, 1))

是可以

m + np.random.randn() *s
无限期评估和产生收益的生成器。外部生成器表达式一一从内部表达式中获取值,但仅产生等于或大于零的值。然后,
next
函数从外部生成器获取第一个值,该值是内部生成器与条件匹配得出的第一个值。



欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/5650350.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-16
下一篇 2022-12-16

发表评论

登录后才能评论

评论列表(0条)

保存