【发布时间】:2020-10-03 03:03:00
【问题描述】:
我正在尝试使用以下生成器,但它没有产生任何输出。想法?谢谢
def generate_numbers(number):
"""To generate numbers"""
for i in range(number):
ratings = []
for j in categories:
ratings.append(random.randint(0, 5))
score = list(zip(categories, ratings))
filtered_score = (s for s in score if s[1] != 0)
yield filtered_score
【问题讨论】:
-
欢迎来到 SO!这在某些方面很奇怪,其中之一是它在构建
ratings之前做了很多工作,这似乎是不必要的,违背了生成器的目的。其次,您确定要返回嵌套生成器吗?你到底想完成什么,你怎么称呼它?我得到了输出,但当然它是一堆需要从中产生的生成器对象。我猜你的意思是return filtered_score并用print(list(generate_numbers(10)))调用它,但我不能确定。