文章目录

  • 前言
  • 迭代器
    • 迭代器的基本方法
    • 小练习
  • 结语

前言

好了,我们言归正传,啊,不对,我们继续道来。我们今天就说说迭代器!

这个词是不是看着比较高大上,感觉学不会?没事,今天我就带着你们征服他们!冲冲冲!

迭代器

迭代迭代,就是一个一个的输出,而迭代器则是python中的一个能够令高级数据类型中的元素一个一个显示的东西。有人会说,这不是可以通过循环来做的吗?

打个比方:我这有一个列表:[1, 3, 7, 2, 5, 9],你要获取数据的话,第一个想法是不是通过循环控制语句将其遍历,但是循环的话会使列表中的元素全部取出来。

而你又会想到通过下标取值,一个一个取,但是数据很少的时候,你能记得住下标,自己通过下标取值,到那时如果数据多达成千上万,上百万,你又怎么记得住呢?就算你记得住,你自己写,那不也挺麻烦的吗?

所以,我们这个时候就需要迭代器。我们可以用完这个值后,放在那,而迭代器会记住你上次使用的位置,等你下次使用,他就会将下一个取出来。

举个例子来理解:就像你参加了个比赛,按牌号一个一个的进行比赛,但是轮到你的时候,突发状况,比赛终止,你被通知两个月后再来比赛,而评委,或者说他们手上的比赛记录就是迭代器,可以在两个月后精准的找到你。

迭代器的基本方法

  1. iter()

    作用是将你的可迭代对象变成迭代器

  2. next()

    作用是从你的迭代器取值。

看看代码:

# 定义一个列表
li = [1, 2, 3, 4, 5, 6]
# 将你的列表变成迭代器
it_li = iter(li)
# 取出你的迭代器的第一个值
first = next(it_li)
print(f"号码牌为{first}的选手")
# 取出第二个
second = next(it_li)
print(f"号码牌为{second}的选手")
# 到你了,比赛暂停两个月
third = next(it_li)
print(f"号码牌为{third}的选手")

对,刚刚叭叭叭说了一大堆,其实迭代器就是这玩意!–>it_li

next()则是迭代器的使用方法

就这?就这?

这就是迭代器?听着名字我还以为多高大上呢,结果就这啊!

也不过如此嘛,小小迭代器,也想阻挡我学习Python?

小练习

生成1-100的数,放入一个列表,并转为迭代器,然后用循环展现出来

每次循环穿插一句“已经经过了xxx年”xxx为每个迭代的值

li = []
for i in range(100):li.append(i+1)
it_li = iter(li)
for i in it_li:nian = next(it_li)print(f"已经过了{nian}年了")print(nian)

结语

这只是简单运用,本篇其实还打算写一下生成器和装饰器,但是鉴于还没学函数,就罢了!

兴趣是最好的老师,坚持是不变的真理。
学习不要急躁,一步一个脚印,踏踏实实的往前走。
每天进步一点点,日积月累之下,你就会发现自己已经变得很厉害了。

我是布小禅,一枚自学萌新,跟着我每天进步一点点吧!

说了这么多暂时也就够了,那么就告辞吧

趁着课余时间学点Python(七)一篇文了解迭代器相关推荐

  1. 趁着课余时间学点Python(十五)有趣的小模块

    一.Python模块与包 python中模块与包的含义 1. Python模块与包 模块是单个的py文件,包是包含多个py文件的文件夹 1.1 模块 模块是一个py文件 我们自己创建一个py文件就是一 ...

  2. 趁着课余时间学点Python(八)函数的简单理解

    文章目录 前言 函数 无参函数 定义一个无参函数 调用这个无参函数 把我们的例子打出来 有参函数 定义和调用 实例 return的使用 例子 结语 前言 来了,他来了,函数篇! 学了函数才算是能推动p ...

  3. 趁着课余时间学点Python(十)面向对象的理解(前奏)

    文章目录 前言 正文 面向过程 面向对象 类和对象 类 构造方法 对象 用Python代码展示洗衣服例子 面向过程洗衣服 面向对象洗衣服 结语 前言 说起来这一篇本打算早就写的,因博主沉迷小说耽搁了 ...

  4. 趁着课余时间学点Python(十二)面向对象的理解(结局)

    文章目录 前言 1. 私有化 1.1 属性私有化 1.2 方法私有化 2. 重写 3. 魔术方法 3.1 __init__方法 3.2 __str__方法 3.3 __del__方法 3.4 __ne ...

  5. 趁着课余时间学点Python(十四)文件操作

    文章目录 ☀️ 前言 ☀️

  6. 趁着课余时间学点Python(十三)异常处理

    文章目录 前言 一.异常/错误 1 编译时错误 2. 运行时错误 3. 逻辑型错误 二.异常处理 1. 捕获异常 1.1 try except finally语句 1.2 try except els ...

  7. 趁着课余时间学点Python(六)终止循环,阻断循环

    文章目录 前言 条件控制语句的补充 break continue return 结语 前言 如果我需要设置一个死循环,然后靠条件来终止,怎么办? 一个很简单的问题,但是我却没有说,这一篇本应该在分支控 ...

  8. 趁着课余时间学点Python(九)函数的进阶 生成器 装饰器的理解

    文章目录 前言 生成器 为什么使用 格式 嵌套函数 装饰器 使用场景 使用 结语 前言 相信大家已经对函数有了一定的理解了吧,那么来看看生成器和装饰器吧 生成器 按道理来说,生成器应该是和迭代器一起讲 ...

  9. 趁着课余时间学点Python(十六)多线程编程

    文章目录 ☀️ 前言 ☀️

最新文章

  1. java反射 基本知识
  2. Cascade EF-GAN: Progressive Facial Expression Editing with Local Focuses 论文解读
  3. eclipse怎么更改tomcat的上下文访问路径
  4. oracle ash介绍,Oracle ---- 性能调查之ASH(一)
  5. Mybatis的动态sql(五)
  6. 蓝桥杯 入门训练 序列求和
  7. 软件设计师备考知识03
  8. GO语言学习之路22
  9. 聚宽-彼得·林奇的成功投资策略
  10. padavan mysql_newifi3 用Padavan(老毛子)固件 搭建web 尝试
  11. 三种语句可以恢复Oracle数据库误删除数据
  12. 最热开源实时提升动画画质MPV+Anime4K使用方法
  13. SQLZOO练习答案(一):SELECT names/zh
  14. BZOJ3711: [PA2014]Druzyny
  15. Lifeograph 0.7.3发布 基于gtkmm的轻量电子日记本
  16. 某银行 科技岗位 数据工程师 面试题总结
  17. yolov3算法中关于loss={'yolo_loss': lambda y_true, y_pred: y_pred}的理解
  18. c语言编写加法程序代码,矩阵加法 (C语言代码)
  19. vue中输入框的限制,最多三位小数~~
  20. 消除VS2010创建C/C++项目时自动生成的臃肿文件的方法

热门文章

  1. 安卓学习期末大作业——音乐播放器基础功能
  2. 石器时代linux单机游戏,石器时代6.0单机版(花郎折腾版)游戏
  3. 在windows xp下如何添加韩文输入法
  4. 低功耗技术在智能硬件上的应用
  5. 自助建站有什么优势?什么是自助建站
  6. Python+Twisted+Autobahn实现Websocket(附完整demo)
  7. 程序员的自我救赎,使用python开发性格分析工具
  8. 多通道高速采集卡简介
  9. 如何在Word/WPS中插入noteExpress?
  10. 模块WOODWARD EASYGEN-2500-5 8440-1884