我的编程空间,编程开发者的网络收藏夹
学习永远不晚

迭代器的应用以及说明的问题

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

迭代器的应用以及说明的问题

一般使用for循环的顺序:

  先创建一个迭代器:列表,并且列表内已存在数据

  接着使用 for循环遍历列表

 

但这样存在一个问题,假如列表内的数据量很大,这样还未使用for循环便已经被列表占用很大的资源

这时我们就可以将这个迭代器做成一个生成数据的迭代器,而非只是占用大资源的数据,从而减少资源占用

python2里有range和xrange,而前者和后者区别是,range就像是那个占用大资源的数据,xrange则是生产数据的迭代器

python3并没有xrange,它的range就是一个生产数据的迭代器

 

同理,list(),和tuple(),之间并非简单的转换,而是创建了一个空列表/元组,然后不断将原列表/元组的数据添加到空列表/元组中,也就是生产数据的迭代器

 

例子中 for循环遍历的nums是已经存在需要遍历的所有数据

# 未使用迭代器的斐波那契数列例子
nums = list()

a = 0
b = 1
i = 0

while i < 10:
    nums.append(a)
    a, b = b, a+b
    i += 1
    
for num in nums:
    print(num)

 

例子中 for循环遍历的nums需要用几个到才去生产几个(即每遍历获取一个num,才生产一个数据)

# 使用了迭代器的斐波那契数列的例子
# for 循环的对象并不是个内容,而是生成内容的方法,这样做可以节省资源 class Fibonacci(object): def __init__(self, all_num): self.all_num = all_num self.current_num = 0 self.a = 0 self.b = 1 def __iter__(self): return self def __next__(self): if self.current_num < self.all_num: ret = self.a self.a, self.b = self.b, self.a+self.b self.current_num += 1 return ret else: raise StopIteration fibo = Fibonacci(10) for num in fibo: print(num)

 

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

迭代器的应用以及说明的问题

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

迭代器的应用以及说明的问题

一般使用for循环的顺序:  先创建一个迭代器:列表,并且列表内已存在数据  接着使用 for循环遍历列表 但这样存在一个问题,假如列表内的数据量很大,这样还未使用for循环便已经被列表占用很大的资源这时我们就可以将这个迭代器做成一个生成数
2023-01-30

Python中的迭代器与生成器使用及说明

这篇文章主要介绍了Python中的迭代器与生成器使用及说明,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
2022-12-16

C语言中的多行输入问题及说明

这篇文章主要介绍了C语言中的多行输入问题及说明,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
2023-02-05

python的去重以及数据合并的用法说明

这篇文章主要介绍了python的去重以及数据合并的用法说明,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
2023-02-07

关于Python迭代器的问题有哪些

这篇文章主要讲解了“关于Python迭代器的问题有哪些”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“关于Python迭代器的问题有哪些”吧!第一个问题:什么是迭代器?迭代器,英文 Iter
2023-06-16

Java文档注释用法以及JavaDoc的使用说明

本篇内容介绍了“Java文档注释用法以及JavaDoc的使用说明”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!简介文档注释负责描述类、接口、
2023-06-20

C++11之std::future对象的使用以及说明

这篇文章主要介绍了C++11之std::future对象的使用以及说明,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
2023-02-28

vue中定时器setInterval的使用及说明

这篇文章主要介绍了vue中定时器setInterval的使用及说明,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
2023-03-02

C++Vector迭代器失效问题的解决方法

最近我学习了C++中的迭代器失效问题,迭代器失效问题是非常非常重要的,所以特意整理出来一篇文章供我们一起复习和学习
2022-11-13

C++错误使用迭代器超出引用范围问题及解决方案

这篇文章主要介绍了C++错误使用迭代器超出引用范围分析与解决,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
2023-03-24

MySql的JDBC连接url地址的各项配置说明及所解决的问题

首先看一条jdbc的url地址: `url: jdbc:mysql://127.0.0.1:3306/test?useAffectedRows=true&autoReconnect=true&useUnicode=true&charact
2023-08-17

python中迭代器的应用场景有哪些

本篇文章为大家展示了python中迭代器的应用场景有哪些,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。python有哪些常用库python常用的库:1.requesuts;2.scrapy;3.pi
2023-06-14

python迭代器(函数名的应用,新版格

内容大纲函数名的运用新特性:格式化输出迭代器:可迭代对象获取对象的方法 dir()判断一个对象是否是可迭代对象小结迭代器迭代器的定义判断一个对象是否是迭代器迭代器的取值可迭代对象如何转化成迭代器while循环模拟for循环机制小结可迭代对象
2023-01-31

编程热搜

  • Python 学习之路 - Python
    一、安装Python34Windows在Python官网(https://www.python.org/downloads/)下载安装包并安装。Python的默认安装路径是:C:\Python34配置环境变量:【右键计算机】--》【属性】-
    Python 学习之路 - Python
  • chatgpt的中文全称是什么
    chatgpt的中文全称是生成型预训练变换模型。ChatGPT是什么ChatGPT是美国人工智能研究实验室OpenAI开发的一种全新聊天机器人模型,它能够通过学习和理解人类的语言来进行对话,还能根据聊天的上下文进行互动,并协助人类完成一系列
    chatgpt的中文全称是什么
  • C/C++中extern函数使用详解
  • C/C++可变参数的使用
    可变参数的使用方法远远不止以下几种,不过在C,C++中使用可变参数时要小心,在使用printf()等函数时传入的参数个数一定不能比前面的格式化字符串中的’%’符号个数少,否则会产生访问越界,运气不好的话还会导致程序崩溃
    C/C++可变参数的使用
  • css样式文件该放在哪里
  • php中数组下标必须是连续的吗
  • Python 3 教程
    Python 3 教程 Python 的 3.0 版本,常被称为 Python 3000,或简称 Py3k。相对于 Python 的早期版本,这是一个较大的升级。为了不带入过多的累赘,Python 3.0 在设计的时候没有考虑向下兼容。 Python
    Python 3 教程
  • Python pip包管理
    一、前言    在Python中, 安装第三方模块是通过 setuptools 这个工具完成的。 Python有两个封装了 setuptools的包管理工具: easy_install  和  pip , 目前官方推荐使用 pip。    
    Python pip包管理
  • ubuntu如何重新编译内核
  • 改善Java代码之慎用java动态编译

目录