在解决以下使用关键字的问题时,我遇到了这些术语iterables、generator和yield :yield
问题:定义一个具有生成器的类,该生成器可以在给定范围 0 和 n 之间迭代可被 7 整除的数字。
解决方案:
def putNumbers(n): i = 0 while i<n: j=i i=i+1 if j%7==0: yield j for i in reverse(100): print i
我不明白为什么yield
在这里使用。我已经通过这个来源也了解了。
并提出另一个问题,因为迭代器和生成器的代码都给出了相同的输出。
可迭代代码:
mylist = [x*x for x in range(3)]
for i in mylist:
print(i)
生成器代码:
mygenerator = [x*x for x in range(3)]
for i in mygenerator:
print(i)
那么有什么意义呢?