next在python中返回迭代器的实例方法


Posted in Python onDecember 15, 2020

在python中有不少对于集合迭代的方法,我们把程序运行后的再一次循环叫做迭代,每一次都循环都可以看做是一次迭代。那么在迭代结束后,我们需要使用next函数来返回迭代器中。接下来我们就next的用法、参数、返回值、在python中返回迭代器的实例给大家进行展示。

1.next()用法

next(iterator[, default])

2.参数说明

iterable -- 可迭代对象

default -- 可选,用于设置在没有下一个元素时返回该默认值,如果不设置,又没有下一个元素则会触发 StopIteration 异常。

3.返回值

返回下一个项目。

4.实例

class test():
  def __init__(self,data=1):
    self.data = data
  def __next__(self):
    if self.data > 5:
      raise StopIteration
    else:
      self.data+=1
      return self.data
t = test(3)  
for i in range(3):
print(t.__next__())

输出:

4

5

6

Python迭代器的用法

迭代器的用法:

首先说两个概念,一个是可迭代的对象一个是迭代器对象,两个不同

可迭代的(Iterable):就是可以for循环取数据的,比如字典、列表、元组、字符串等,不可使用next()方法。

迭代器(Iterator),也是可以依次迭代取出数据的对象,在内存空间是这样存储的:<list_iterator object at 0x01E35770>占用内存小,并且可以使用next()方法依次取数据

可以使用isinstance()方法来判断一个对象是可迭代对象还是迭代器对象

比如:

>>> a = [x for x in range(3)]       #生成一个列表
>>> from collections import Iterable   #导入Iterable模块
>>> isinstance(a,Iterable)       #使用isinstance(“”,Iterable)判断是否是可迭代的
True                #返回True
>>> from collections import Iterator   #导入Iterator模块
>>> isinstance(a,Iterator)       #使用isinstance(“”,Iterator)判断是否是迭代器对象
False                #返回False

从上面的结果可以看出来,列表是一个可迭代的对象,但是不是迭代器,同样的字典,元组,字符串也不是迭代器,另外,数字既不是迭代器对象,也不是可迭代的对象。

到此这篇关于next在python中返回迭代器的实例方法的文章就介绍到这了,更多相关next如何在python中返回迭代器内容请搜索三水点靠木以前的文章或继续浏览下面的相关文章希望大家以后多多支持三水点靠木!

Python 相关文章推荐
Python实现在Linux系统下更改当前进程运行用户
Feb 04 Python
Python类方法__init__和__del__构造、析构过程分析
Mar 06 Python
在Django框架中伪造捕捉到的URLconf值的方法
Jul 18 Python
举例讲解Python的lambda语句声明匿名函数的用法
Jul 01 Python
python3+PyQt5图形项的自定义和交互 python3实现page Designer应用程序
Jul 20 Python
Django实现学员管理系统
Feb 26 Python
numpy数组广播的机制
Jul 12 Python
Python数据可视化 pyecharts实现各种统计图表过程详解
Aug 15 Python
pytorch 模型可视化的例子
Aug 17 Python
wxPython实现列表增删改查功能
Nov 19 Python
Python logging自定义字段输出及打印颜色
Nov 30 Python
一篇文章带你搞懂Python类的相关知识
May 20 Python
python中slice参数过长的处理方法及实例
Dec 15 #Python
关于django python manage.py startapp 应用名出错异常原因解析
Dec 15 #Python
Window10上Tensorflow的安装(CPU和GPU版本)
Dec 15 #Python
详解python中的异常捕获
Dec 15 #Python
python 6种方法实现单例模式
Dec 15 #Python
Ubuntu16安装Python3.9的实现步骤
Dec 15 #Python
Python爬虫开发与项目实战
Dec 16 #Python
You might like
模仿OSO的论坛(一)
2006/10/09 PHP
PHP中的正规表达式(二)
2006/10/09 PHP
thinkPHP引入类的方法详解
2016/12/08 PHP
详解ThinkPHP3.2.3验证码显示、刷新、校验
2016/12/29 PHP
JavaScript脚本性能的优化方法
2007/02/02 Javascript
JS 遮照层实现代码
2010/03/31 Javascript
JavaScript自定义DateDiff函数(兼容所有浏览器)
2012/03/01 Javascript
JS中的substring和substr函数的区别说明
2013/05/07 Javascript
JS中使用Array函数shift和pop创建可忽略参数的例子
2014/05/28 Javascript
获取jqGrid中选择的行的数据
2016/11/30 Javascript
js实现功能比较全面的全选和多选
2017/03/02 Javascript
angularjs+bootstrap实现自定义分页的实例代码
2017/06/19 Javascript
微信小程序开发animation心跳动画效果
2017/08/16 Javascript
javascript数组定义的几种方法
2017/10/06 Javascript
Vue+Jwt+SpringBoot+Ldap完成登录认证的示例代码
2018/05/21 Javascript
jQuery实现输入框的放大和缩小功能示例
2018/07/21 jQuery
vue填坑之webpack run build 静态资源找不到的解决方法
2018/09/03 Javascript
vsCode安装使用教程和插件安装方法
2020/08/24 Javascript
JavaScript实现手风琴效果
2021/02/18 Javascript
[01:07:17]EG vs Optic Supermajor 败者组 BO3 第一场 6.6
2018/06/07 DOTA
python多重继承新算法C3介绍
2014/09/28 Python
跟老齐学Python之编写类之二方法
2014/10/11 Python
PyChar学习教程之自定义文件与代码模板详解
2017/07/17 Python
python实现感知器算法(批处理)
2019/01/18 Python
python和pywin32实现窗口查找、遍历和点击的示例代码
2020/04/01 Python
python写文件时覆盖原来的实例方法
2020/07/22 Python
python3跳出一个循环的实例操作
2020/08/18 Python
详解HTML5中垂直上下居中的解决方案
2017/12/20 HTML / CSS
李维斯德国官方网上商店:Levi’s德国
2016/09/10 全球购物
用C或者C++语言实现SOCKET通信
2015/02/24 面试题
2014婚礼司仪主持词
2014/03/14 职场文书
电子信息工程专业自荐书
2014/06/24 职场文书
爱国主义教育演讲稿
2014/08/26 职场文书
酒店爱岗敬业演讲稿
2014/09/02 职场文书
2015年网管个人工作总结
2015/05/22 职场文书
单位同意报考证明
2015/06/17 职场文书