python:Iterables与生成器和python中的产量之间的区别?

时间:2015-03-09 09:07:16

标签: python generator yield-keyword

我遇到了这些术语 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)
那么意义何在?

0 个答案:

没有答案