python迭代器高级例子
def next(self):方法来实现协议
2. 写一个实现迭代器协议的类,让此类可以生成从b 开始的n个素数
class Prime:
def init(self, b, n):
…
def iter(self):
….
L = [x for x in Prime(10, 4)]
print(L) # L = [11, 13, 17, 19]
class Prime:
def init(self,b,n):
self.start=b
self.count=n
def iter(self):
l=[]
x=self.start-1
while len(l)!=self.count:
if len(l)==self.count:
break
else:
x+=1
for j in range(2,x):
if x%j==0:
break
else:
l.append(x)
return Xy(l)
class Xy:
def init(self,l):
self.l=l
self.index=0
def next(self):
if self.index>=len(self.l):
raise StopIteration
s=self.l[self.index]
self.index+=1
return s
L = [x for x in Prime(10, 4)]
print(L) # L = [11, 13, 17, 19]
- 写一个类Fibonacci实现迭代器协议,此类的对象可以作为可迭代对象生成斐波那契数列
1 1 2 3 5 8 13 ….
class Fibonacci:
def init(self, n):
…
…
for x in Fibonacci(10):
print(x) # 打印 1 1 2 3 5 8 …
class Fibonacci:
def init(self, n):
self.count=n
def iter(self):
l=[1,1]
for i in range(self.count-2):
l.append(l[i]+l[i+1])
return Xy(l)
class Xy:
def init(self,l):
self.l=l
self.index=0
def next(self):
if self.index>=len(self.l):
raise StopIteration
s=self.l[self.index]
self.index+=1
return s
for x in Fibonacci(10):
print(x) # 打印 1 1 2 3 5 8 …
python迭代器高级例子相关推荐
- python的高级特性:切片,迭代,列表生成式,生成器,迭代器
python的高级特性:切片,迭代,列表生成式,生成器,迭代器 1 #演示切片 2 k="abcdefghijklmnopqrstuvwxyz" 3 #取前5个元素 4 k[0:5 ...
- python小例子-Python 常用小例子
作者原文 https://mp.weixin.qq.com/s/eFYDW20YPynjsW_jcp-QWw 内置函数(63个) 1 abs() 绝对值或复数的模 In [1]: abs(-6) Ou ...
- python函数高级话题
python函数高级话题 python函数高级话题 递归函数 匿名函数:lambda lambda表达式 高阶函数 python 中常见的高阶函数 (1)filter (2)map (3)reduce ...
- 一文了解Python部分高级特性
本部分主要介绍 Python 的部分高级特性,包括切片.迭代器.推导式.生成器.匿名函数.装饰器等.阅读本文预计需要 15 min. 一文了解Python部分高级特性 1. 前言 2. 切片 3. 迭 ...
- python学习——高级教程
Python学习 高级教程 目录 1. Python面向对象 2. Python正则表达式 3. Python多线程 4. Python GUI编程 5. Python JSON 一.Python面向 ...
- python迭代器生成器 学会再缩短一半开发效率 看看大牛是怎么写的
一.迭代 什么叫做迭代? 比如在 Java 中,我们通过 List 集合的下标来遍历 List 集合中的元素,在 Python 中,给定一个 list 或 tuple,我们可以通过 for 循环来遍历 ...
- python学习高级篇(part7)--特殊属性和特殊方法
学习笔记,仅供参考,有错必纠 文章目录 python 学习高级篇 特殊属性和特殊方法 获取对象的信息之特殊属性`__dict__` 获取对象的信息之反射 类对象的特殊方法`__len__()` pyt ...
- [转载] Python 迭代器 深入理解 与应用示例
参考链接: Python | 可迭代和迭代器之间的区别 本篇文章简单谈谈可迭代对象,迭代器和生成器之间的关系. 三者简要关系图 可迭代对象与迭代器 刚开始我认为这两者是等同的,但后来发现并不是这样:下 ...
- python迭代器与生成器答案_史上最全 Python 迭代器与生成器
原标题:史上最全 Python 迭代器与生成器 作者:浪子燕青 链接:http://www.langzi.fun/迭代器与生成器.html 迭代器与可迭代对象 概念 迭代器:是访问数据集合内元素的一种 ...
最新文章
- 讲讲 Redis 缓存更新一致性
- ASP .NET Core Web Razor Pages系列教程四:使用数据库进行交互 entity-framework(MySQL/MariaDB 版)
- Web Service之Soap请求响应内容中文编码解密
- web前端入门学习 css(7)css高级技巧 (精灵图、字体图标、css三角、鼠标样式、表单轮廓线、文本框拖拽、垂直对齐、图底空白缝隙、margin负值、溢出文字省略号、文字环绕、css初始化)
- 线上防雪崩利器——熔断器设计原理与实现
- 一文告诉你 Java RMI 和 RPC 的区别
- python中使用什么导入模块-python—模块导入和类
- 浙大 pat 1023题解
- 利用DataSet、DataTable、DataView按照自定义条件过滤数据
- 高手对中科院考博英语的分享
- 集群通信组件tribes之使用方法
- 茴香豆的“茴”有几种写法?单例模式你知道有几种写法?
- Python 告诉你中秋应该去哪里
- JAVA简介及视频教程
- FortiGate常用命令
- 虚拟机创建centons
- Visual Studio 2019背景美化(背景透明化+自定义背景图片)
- 亿图图示EDraw Max,云的跨端思维导图
- FMDB-FMDatabaseQueue
- Integrated Data Network (IDN) and Thomson Reuters Elektron
热门文章
- 大轴纸怎么上机器人_岛国首发和尚机器人,地位直逼观世音
- windows 将python源代码加密_对源代码进行pyd加密
- 社团部部长工作计划计算机学院,社团部部长工作计划(共8篇).doc
- java公平索非公平锁_Java 并发编程中使用 ReentrantLock 替代 synchronized
- 精确微妙计时minicom 源码节选
- linux 内核互斥体,Linux 内核同步(六):互斥体(mutex)
- element引入的组件大小高度不对_试水 elementplus ui 组件库
- 远程更新FPGA配置的热启动地址(WBSTAR)的格式?
- 【 English 】社会类高频词汇、固定搭配
- 序列信号产生器的verilog HDL 设计