Python 迭代器和生成器

2020-08-18  本文已影响0人  乂尤先生

迭代器

list1 = [1,2,3,4]
#创建迭代器对象
it = iter(list1)
#输出迭代的下一个元素
print(next(it))

使用for循环遍历迭代器对象

list1 = [1,2,3,4]
#创建一个迭代器对象
it = iter(list1)
for x in it:
    print(x,end=" ")

生成器

使用yield实现斐波那契数列:

#起始项为0,1
numList = [0, 1]
def fibo1(num):
    while len(numList) < num:
        a = numList[-2]
        b = numList[-1]
        #后面的项为它的前两项的和
        a,b = b,a+b
        yield b
next_num = fibo1(10)
for i in range(8):
    numList.append(next(next_num))
print(numList)
上一篇下一篇

猜你喜欢

热点阅读