2024-04-29 06:57:03 发布
网友
这是我的方法
def take(g,n): for i in range(10): yield random.randint(g) return n
如果您不确定生成器是否会生成N个值,可以使用zip获取尽可能多的值(不超过N):
r = [ v for v,_ in zip(generator(),range(N)) ]
或者,如果允许您使用库,您可以使用itertools中的islice:
r = [*islice(generator(),10)]
你想这样做吗
def take(g, n): return [next(g) for _ in range(n)]
它将生成器g和计数n作为参数,并返回包含g的前n个值的列表
如果您不确定生成器是否会生成N个值,可以使用zip获取尽可能多的值(不超过N):
或者,如果允许您使用库,您可以使用itertools中的islice:
你想这样做吗
它将生成器g和计数n作为参数,并返回包含g的前n个值的列表
相关问题 更多 >
编程相关推荐