【发布时间】:2017-12-06 21:43:50
【问题描述】:
我有一个惰性生成器,我想取出 N 个项目并将它们放在一个列表中。是否有任何简洁的方式(类似于列表理解风格)而不使用 for 循环并手动将每个项目附加到列表中?
我的问题与提出的重复问题不同,因为它涉及生成器(并且您不能对生成器进行切片)并且必须满足一个条件。
这就是我现在正在做的事情:
my_list = []
counter = 0
for item in my_generator():
if counter == 10:
break
if condition(item):
my_list.append(item)
counter += 1
【问题讨论】:
-
由于项目添加的条件,对我来说有所不同。
-
我有一个生成器,而不是一个列表作为输入
-
@Chris_Rands 不是您的链接的副本,这要求通过 条件函数 过滤,只采用第一个 匹配 b> n