python next()和iter()函数原理解析


Posted in Python onFebruary 07, 2020

这篇文章主要介绍了python next()和iter()函数原理解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下

我们首先要知道什么是可迭代的对象(可以用for循环的对象)Iterable:

一类:list,tuple,dict,set,str

二类:generator,包含生成器和带yield的generatoe function

而生成器不但可以作用于for,还可以被next()函数不断调用并返回下一个值,可以被next()函数不断返回下一个值的对象称为迭代器:Iterator

生成器都是Iterator对象,但list,dict,str是Iterable,但不是Iterator,要把list,dict,str等Iterable转换为Iterator可以使用iter()函数

next()用法:

next(iterator[, default])

  • iterator -- 可迭代对象
  • default -- 可选,用于设置在没有下一个元素时返回该默认值,如果不设置,又没有下一个元素则会触发 StopIteration 异常。
>>> list_ = [1,2,3,4,5]
>>> it = iter(list_)
>>> next(it,'-1')
>>> next(it,'-1')
>>> next(it,'-1')
>>> next(it,'-1')
>>> next(it,'-1')
>>> next(it,'-1')
'-1'

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Python 相关文章推荐
用python + hadoop streaming 分布式编程(一) -- 原理介绍,样例程序与本地调试
Jul 14 Python
使用Python实现一个简单的项目监控
Mar 31 Python
简单了解OpenCV是个什么东西
Nov 10 Python
使用python将多个excel文件合并到同一个文件的方法
Jul 09 Python
简单了解python PEP的一些知识
Jul 13 Python
解决Python设置函数调用超时,进程卡住的问题
Aug 08 Python
关于Python3 类方法、静态方法新解
Aug 30 Python
Python集合基本概念与相关操作实例分析
Oct 30 Python
python 通过邮件控制实现远程控制电脑操作
Mar 16 Python
Python基于xlutils修改表格内容过程解析
Jul 28 Python
python Matplotlib基础--如何添加文本和标注
Jan 26 Python
Jupyter安装拓展nbextensions及解决官网下载慢的问题
Mar 03 Python
使用tensorflow实现矩阵分解方式
Feb 07 #Python
python匿名函数lambda原理及实例解析
Feb 07 #Python
Python用input输入列表的实例代码
Feb 07 #Python
详解Python 重学requests发起请求的基本方式
Feb 07 #Python
对tensorflow 中tile函数的使用详解
Feb 07 #Python
TensorFlow2.0矩阵与向量的加减乘实例
Feb 07 #Python
Tensorflow分批量读取数据教程
Feb 07 #Python
You might like
用Php实现链结人气统计
2006/10/09 PHP
PHP语法速查表
2006/12/06 PHP
php的数组与字符串的转换函数整理汇总
2013/07/18 PHP
ThinkPHP中使用Ueditor富文本编辑器
2015/09/02 PHP
thinkphp在低版本Nginx 下支持PATHINFO的方法分享
2016/05/27 PHP
PHP封装返回Ajax字符串和JSON数组的方法
2017/02/17 PHP
常见JS效果之图片减速度滚动实现代码
2011/12/08 Javascript
九种js弹出对话框的方法总结
2013/03/12 Javascript
探讨jQuery的ajax使用场景(c#)
2013/12/03 Javascript
JS学习之表格的排序简单实例
2016/05/16 Javascript
js改变html的原有内容实现方法
2016/10/05 Javascript
jQuery的extend方法【三种】
2016/12/14 Javascript
angularjs实现的前端分页控件示例
2017/02/10 Javascript
jQuery Validate格式验证功能实例代码(包括重名验证)
2017/07/18 jQuery
vue实现学生录入系统之添加删除功能
2018/07/11 Javascript
详解微信小程序-扫一扫 wx.scanCode() 扫码大变身
2019/04/30 Javascript
layui use 定义js外部引用函数的方法
2019/09/26 Javascript
[55:54]FNATIC vs EG 2019国际邀请赛小组赛 BO2 第一场 8.15
2019/08/16 DOTA
[00:38]TI珍贵瞬间系列(二):笑
2020/08/26 DOTA
Django在win10下的安装并创建工程
2017/11/20 Python
浅谈Python中的作用域规则和闭包
2018/03/20 Python
Python 读取指定文件夹下的所有图像方法
2018/04/27 Python
python数据结构之线性表的顺序存储结构
2018/09/28 Python
python找出完数的方法
2018/11/12 Python
python网络爬虫 Scrapy中selenium用法详解
2019/09/28 Python
基于python操作ES实例详解
2019/11/16 Python
Python基础之变量基本用法与进阶详解
2020/01/03 Python
Python3 虚拟开发环境搭建过程(图文详解)
2020/01/06 Python
Python转换字典成为对象,可以用"."方式访问对象属性实例
2020/05/11 Python
旷课检讨书3000字
2014/02/04 职场文书
《山谷中的谜底》教学反思
2014/04/26 职场文书
技能比武方案
2014/05/21 职场文书
社区工作者演讲稿
2014/05/23 职场文书
小学音乐教师个人工作总结
2015/02/05 职场文书
Java如何实现通过键盘输入一个数组
2022/02/15 Java/Android
MySQL查询日期时间
2022/05/15 MySQL