我有一个心理障碍,有没有一个常见的python1行程序来根据某些条件终止列表理解或genex?示例用法:
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,但那些家伙要求你提前知道你想消费多少商品。
发布于 2013-03-14 20:12:13
您可以使用itertools.takewhile
itertools.takewhile(lambda x: x < 10, primes())或…如果你想避免lambda:
itertools.takewhile((10.).__gt__, primes())https://stackoverflow.com/questions/15408933
复制相似问题