我有一个心理障碍,是否有一个通常的 python 1-liner 用于根据某些条件终止列表理解或基因?示例用法:
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
但是那些家伙要求您提前知道要消费多少物品。