AI写作智能体 自主规划任务,支持联网查询和网页读取,多模态高效创作各类分析报告、商业计划、营销方案、教学内容等。 广告
1、迭代器 ~~~ 迭代器对象从集合的第一个元素开始访问,直到所有的元素被访问完结束。迭代器只能往前不会后退。 迭代器有两个基本的方法:iter() 和 next()。 字符串,列表或元组对象都可用于创建迭代器: ~~~ ~~~ import sys var = ['a','b','c'] it = iter(var) for x in it: print(x,end=" ") print('\n') k = iter(var) #这里不重新定义一下,下面是打印不出任何东西的,因为上面的程序中迭代器到尾了,不能再重新开始的 while True: try: print(next(k)) except StopIteration: sys.exit() 结果: a b c a b c ~~~ 2、生成器 ~~~ 1、在 Python 中,使用了 yield 的函数被称为生成器(generator)。 2、在调用生成器运行的过程中,每次遇到 yield 时函数会暂停并保存当前所有的运行信息,返回yield的值。并在下一次执行 next()方法时从当前位置继续运行。 3、典型应用:斐波那契 ~~~ ~~~ import sys def fibonacci(N): # 生成器函数 - 斐波那契 a , b , c = 0 , 1 , 0 while True: if( c > N): return yield a #运行到这里的时候总是会暂停 print(a,b,c) a , b = b , a + b c += 1 it = fibonacci(10) for x in it: try: print(x , end = " , ") except StopIteration: sys.exit() 结果: 0 , 0 1 0 1 , 1 1 1 1 , 1 2 2 2 , 2 3 3 3 , 3 5 4 5 , 5 8 5 8 , 8 13 6 13 , 13 21 7 21 , 21 34 8 34 , 34 55 9 55 , 55 89 10 ~~~