python实现1、使用迭代器实现斐波那契数列;2、从迭代器得到序列

转载 2015年07月09日 16:32:32

#python使用迭代器实现斐波那契数列

>>> class Fibs:

def __init__(self):
self.a = 0
self.b = 1
def next(self):
self.a,self.b = self.b,self.a+self.b
return self.a
def __iter__(self):
return self

>>> fibs = Fibs()

#查找在斐波那契数列中比1000大的数中的最小的数
>>> for f in fibs:
if f>1000:
print f
break


1597


其中,__iter__方法,实际上返回迭代器本身



#从迭代器得到序列

>>> class TestIterator:
value = 0
def next(self):
self.value += 1
if self.value > 10: raise StopIteration
return self.value
def __iter__(self):
return self

>>> ti = TestIterator()
>>> list(ti)
[1, 2, 3, 4, 5, 6, 7, 8, 9, 10]


使用list构造方法显示的将迭代器转化为列表

相关文章推荐

斐波那契数列迭代器实现方法

class Fob(object): def __init__(self,end_num): self.end_num=end_num self.num1=0 self.num2=1 sel...

使用python迭代器生成斐波那契数列

斐波纳契数列以递归的方法定义:F(0)=0,F(1)=1,F(n)=F(n-1)+F(n-2)(n≥2,n∈N*) 这个数列从第2项开始,每一项都等于前两项之和,而且当n趋向于无穷大时,前一项与后一项...

从斐波拉契数例的实现看Python的自定义迭代器和装饰器优势

怎么递归实现斐波拉契数例 1:简单版的 def simple_fib(n): if n return n return fib(n - 1) + fib(n - 2) 对其性能测试: if ...

Python笔记-列表生成式、生成器generator(包括斐波拉契数列)、迭代器Iterator

列表生成式、生成器generator(包括斐波拉契数列)、迭代器Iterator

Python 使用list实现队列 (基于class, 包含迭代器)

Python 使用list实现队列 (基于class, 包含迭代器)

Python 使用单链表实现堆栈 (基于class, 包含迭代器)

Python 使用单链表实现堆栈 (基于class, 包含迭代器)

Python 使用list实现堆栈 (基于class, 包含迭代器)

Python 使用list实现堆栈 (基于class, 包含迭代器)

Python 使用list实现无边际优先队列 (基于class, 包含迭代器)

Python 使用list实现无边际优先队列 (基于class, 包含迭代器)

python特性(七):通过生成器函数构造序列对象的迭代器

在前面的博文中介绍过如何构造序列对象的迭代器。本文将通过生成器函数来重写这篇博文的代码。 事实上,一个序列对象的迭代器,依赖于一个整数序列的迭代器。看下面的代码。 def MyGe...

零基础入门学习Python(25):魔法方法(5)定制序列和迭代器

零基础入门学习Python(25):魔法方法(5)定制序列和迭代器容器类型的协议: 如果希望定制不可变的容器,则需要定义__len__(self)和__getitem__(self,key)方法;如...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:python实现1、使用迭代器实现斐波那契数列;2、从迭代器得到序列
举报原因:
原因补充:

(最多只允许输入30个字)