python3 迭代器实现斐波那契数列
2017-11-14 21:44
260 查看
# 先写个迭代器文件 iterator.py class Fib: def __init__(self): self.n1 = 0 self.n2 = 1 def __next__(self): self.n1, self.n2 = self.n2, self.n1 + self.n2 return self.n1 def __iter__(self): return self # 用 for 循环从迭代器中取值 >>> from iterator import Fib >>> fib = Fib() # 实例化对象 >>> for i in fib: ... if i > 100: ... print(i) ... break # 加上 break, 不然会一直执行下去 ... 144 >>> next(fib) 233 >>> next(fib) 377 # 迭代器对象需要实现 __iter__ 方法和 next 方法 # python3 是 __next__ 方法,python3 的内建函数 next() 可以访问这个方法 # python3 中可以用 next(it) 取值,3以前用 it.next() # 内建函数 iter 可以从可迭代对象获取迭代器 >>> st = 'abcdefg' >>> it = iter(st) >>> it <str_iterator object at 0x7f5aaf2fecc0> # 用 list 可以把迭代器转换成列表(需要切片时会用到) >>> list(it) ['a', 'b', 'c', 'd', 'e', 'f', 'g']
相关文章推荐
- python实现1、使用迭代器实现斐波那契数列;2、从迭代器得到序列
- python用迭代器的方式实现斐波那契数列
- 详解python使用递归、尾递归、循环三种方式实现斐波那契数列
- python 递归算法 实现斐波那契数列 Fibnacci
- 斐波那契数列-python实现
- Python 实现斐波那契数列 (黄金分割数列)
- 算法:Python中的斐波那契数列实现
- Python中斐波那契数列实现
- Python 实现斐波那契数列
- python实现斐波那契数列
- Python实现斐波那契数列
- 要求输入一个整数n,请你输出斐波那契数列的第n项 python实现
- 使用python迭代器生成斐波那契数列
- python yield 生成器基本内容及实现斐波那契数列
- php实现斐波那契数列的三种方法,递归回调和迭代器和数组之间性能对比
- python中实现迭代器(iterator)的方法示例
- python_如何实现可迭代对象和迭代器对象?
- Python 使用循环数组实现队列 (基于class, 包含迭代器)
- Python 使用list实现堆栈 (基于class, 包含迭代器)
- Python自己实现迭代器