Python面向对象加强4.iter与next的用法,枚举器enumerate

  • 一、iter与next的用法
  • 二、枚举器enumerate

一、iter与next的用法

大佬文章传送门:iter与next
iter():iter() 函数用来生成迭代器。list、tuple等都是可迭代对象,我们可以通过iter()函数获取这些可迭代对象的迭代器。然后我们可以对获取到的迭代器不断使⽤next()函数来获取下⼀条数据。iter()函数实际上就是调⽤了可迭代对象的 __iter__ ⽅法。

next():next()函数用来返回迭代器的下一个项目,通常与生成迭代的iter()一起使用。
语法:

next(iterable[, default])
iterable – 可迭代对象
default – 可选,用于设置在没有下一个元素时返回该默认值,如果不设置,又没有下一个元素则会触发 StopIteration 异常。

注意,当我们已经迭代完最后⼀个数据之后,再次调⽤next()函数会抛出 StopIteration的异常 。
示例如下:

lst = [0, 1, 2, 3]a = iter(lst)print(next(a))
print(next(a))
print(next(a))
print(next(a))

lst = [0, 1, 2, 3]a = iter(lst)print(next(a))
print(next(a))
print(next(a))
print(next(a))
print(next(a))


可以加入异常判断:

# 首先获得Iteration对象
it = iter([1,2,3,4,5])
# 循环
while True:try:# 获得下一个值print(next(it))except StopIteration:# 遇到StopIteration就退出循环break

二、枚举器enumerate

enumerate函数用于将一个可遍历的数据对象(例如列表list, 元组tuple, 字符串string)组合为一个索引序列,同时列出数据与数据下标。一般用于for循环:

squares=['red', 'yellow', 'green', 'purple', 'blue']for i, square in enumerate(squares):print(i, square)



同时也可以使用next函数:

# 首先获得Iteration对象
it = enumerate([1,2,3,4,5])
# 循环
while True:try:# 获得下一个值print(next(it))except StopIteration:# 遇到StopIteration就退出循环break

Python面向对象加强4.iter与next的用法,枚举器enumerate相关推荐

  1. Python面向对象程序设计中属性的作用与用法

    公开的数据成员可以在外部随意访问和修改,很难保证用户进行修改时提供新数据的合法性,数据很容易被破坏,并且也不符合类的封装性要求.解决这一问题的常用方法是定义私有数据成员,然后设计公开的成员方法来提供对 ...

  2. python编程语言继承_Python面向对象程序设计类的封装与继承用法示例

    本文实例讲述了Python面向对象程序设计类的封装与继承用法.分享给大家供大家参考,具体如下: 访问限制(封装) 1.概念 面向对象语言的三大特征:封装, 继承, 多态. 广义的封装: 类和函数的定义 ...

  3. python对象编程例子-这是我见过最详细的Python面向对象编程!建议收藏!

    原标题:这是我见过最详细的Python面向对象编程!建议收藏! 面向对象编程和函数式编程(面向过程编程)都是程序设计的方法,不过稍有区别. 面向过程编程: 1. 导入各种外部库 2. 设计各种全局变量 ...

  4. python 面向对象(进阶篇)

    上一篇<Python 面向对象(初级篇)>文章介绍了面向对象基本知识: 面向对象是一种编程方式,此编程方式的实现是基于对 类 和 对象 的使用 类 是一个模板,模板中包装了多个" ...

  5. Python面向对象编程随笔

    Python面向对象编程 参考教程:https://www.bilibili.com/video/av8475172?p=1 面向过程与面向对象 面向过程:自顶向下,用于解决计算问题或实现某种算法,与 ...

  6. 可能是最全的 Python 面向对象入门教程了

    作者:浪子燕青 http://www.langzi.fun/Python面向对象编程.html 面向对象编程和函数式编程(面向过程编程)都是程序设计的方法,不过稍有区别. 面向过程编程: 1. 导入各 ...

  7. python面向对象的优点_Python面向对象编程——总结面向对象的优点

    Python面向对象编程--总结面向对象的优点 一.从代码级别看面向对象 1.在没有学习类这个概念时,数据与功能是分离的 def exc1(host,port,db,charset): conn=co ...

  8. 整理了 70 个 Python 面向对象编程案例,怎能不收藏?

    作者 | 周萝卜 来源 | 萝卜大杂烩 Python 作为一门面向对象编程语言,常用的面向对象知识怎么能不清楚呢,今天就来分享一波 文章很长,高低要忍一下,如果忍不了,那就收藏吧,总会用到的 在 Py ...

  9. 这可能是Python面向对象编程的最佳实践

    作者 | 崔庆才 来源 | 进击的Coder(ID:FightingCoder) Python 是支持面向对象的,很多情况下使用面向对象编程会使得代码更加容易扩展,并且可维护性更高,但是如果你写的多了 ...

  10. 第八课.Python面向对象(二)

    类的继承和多态 继承和多态与函数有共同的目的,都是为了减少代码的冗余,提高复用的效率: 根据"Python面向对象(一)"的笔记,我现在定义一个Cinema类: #父类 class ...

最新文章

  1. “可扩展标记语言”(XML) 提供一种描述结构化数据的方法。
  2. python录入学生信息网_干货满满 | Python趣味编程教学实践
  3. python3.72教程_python3教程_编程入门教程_牛客网
  4. 最短路径(SPFA算法)
  5. JavaScript中创建对象的方法
  6. 测试一体机ASM failgroup的相关问题处理
  7. Linux: chm转HTML How to Convert chm files to HTML or PDF files
  8. java 插入数据 主键_JDBC插入数据返回数据主键代码实例
  9. [五]java函数式编程归约reduce概念原理 stream reduce方法详解 reduce三个参数的reduce方法如何使用...
  10. Java_Spring MVC_Servlet
  11. PHP 抽象工厂模式(Kit模式)
  12. 拓端tecdat|基于机器学习的印度肝脏病诊断分析
  13. CreateFile和WriteFile
  14. 【Python模块】matplotlib 柱状图
  15. java 软件开发面试宝典
  16. java代码安全检测机制,下列选项中,属于Java语言的代码安全检测机制的一项是______。A.动态链接B.访问权限的检查C.通过接...
  17. Codeforces Round #715 (Div. 2) B. TMT Document——思路分析,清晰易懂
  18. 一个老的游戏,据说全世界只有不到4000人可以走出房间.密室逃脱--之“天蓝色房间”...
  19. MATLAB | 七夕节快到了,还不给朋友安排上这个咕呱小青蛙?
  20. Adobe InDesign CS5

热门文章

  1. java开发面试自我介绍模板_java程序员面试自我介绍范文(精选3篇)
  2. 解决VS2017安装一直卡在正在下载
  3. 离散傅里叶变换的核心公式
  4. aven class javax.xml.parsers.SecuritySupport12 cannot access its superclass javax.xml.parsers.Secur
  5. 面试精选逻辑推理题总结
  6. 黑苹果相关驱动介绍及其使用方法
  7. 关于打印机驱动无法装载的问题
  8. IDEA启动报错:Error launching IDEA if you already have a 64-bit JDK installed,define a JAVA_HOME
  9. Ubuntu系统下把视频转换成gif图片
  10. STM32工具使用---STVP烧录工具