我遇到了这些术语 iterables , generator 和 yield ,同时解决了使用yield
关键字的以下问题:< / p>
问题:使用生成器定义一个类,该类可以迭代给定范围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
在这里使用。
我已经通过了this source来理解。
并再提出一个问题,因为iterables和generator的代码都给出了相同的输出。
迭代的代码:
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)
那么意义何在?