首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >终止生成器表达式

终止生成器表达式
EN

Stack Overflow用户
提问于 2013-03-14 20:10:19
回答 1查看 308关注 0票数 2

我有一个心理障碍,有没有一个常见的python1行程序来根据某些条件终止列表理解或genex?示例用法:

代码语言:javascript
复制
def primes():
  # yields forever e.g. 2, 3, 5, 7, 11, 13 ... 

[p for p in primes() if p < 10]
# will never terminate, and will go onto infinite loop consuming primes()

[p for p in primes() while p < 10]
# should return [2, 3, 5, 7], and consumed 5 items from my generator

我知道itertools消费,islice,但那些家伙要求你提前知道你想消费多少商品。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-03-14 20:12:13

您可以使用itertools.takewhile

代码语言:javascript
复制
itertools.takewhile(lambda x: x < 10, primes())

或…如果你想避免lambda:

代码语言:javascript
复制
itertools.takewhile((10.).__gt__, primes())
票数 10
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/15408933

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档