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
~~~
- Python 环境
- Python 安装
- IDE
- 包安装
- Anaconda
- WinPython
- eclipse
- eclipse安装
- pydev安装
- 常用英汉
- emmet
- base
- list
- 包 模块 导入
- 查看版本
- dir()
- type 数据类型
- if
- while for
- 迭代器和生成器
- + 和 +=
- numpy
- 体质指数
- 版本
- np数组属性
- 子集
- 数据创建
- 基本操作
- plot
- 中文显示问题
- 随机数
- ::的用法
- asammdf
- 获取所有信号
- 导出csv
- pygraph
- pandas
- 数据结构
- pandans十分钟入门
- io
- 爬小说
- struct
- mdf
- ascii
- bytes & bytearray
- 任务
- aardio读取二进制文件原样输出
- 读取数字
- mdf 数据转换
- charles

