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的Django框架中自定义模版标签的示例
Jul 20 Python
Python科学画图代码分享
Nov 29 Python
Python动刷新抢12306火车票的代码(附源码)
Jan 24 Python
mac下pycharm设置python版本的图文教程
Jun 13 Python
python实现给scatter设置颜色渐变条colorbar的方法
Dec 13 Python
python多线程http压力测试脚本
Jun 25 Python
Windows下pycharm创建Django 项目(虚拟环境)过程解析
Sep 16 Python
Python 图像对比度增强的几种方法(小结)
Sep 25 Python
Tensorflow Summary用法学习笔记
Jan 10 Python
python pymysql库的常用操作
Oct 16 Python
python selenium 获取接口数据的实现
Dec 07 Python
python实现视频压缩功能
Dec 18 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
在PHP里得到前天和昨天的日期的代码
2007/08/16 PHP
PHP操作数组相关函数
2011/02/03 PHP
匹配csdn用户数据库与官方用户的重合度并将重叠部分的用户筛选出来
2011/12/25 PHP
php生成excel文件的简单方法
2014/02/08 PHP
Linux中为php配置伪静态
2014/12/17 PHP
php轻松实现文件上传功能
2016/03/03 PHP
thinkphp 手机号和用户名同时登录
2017/01/20 PHP
php实现批量上传数据到数据库(.csv格式)的案例
2017/06/18 PHP
Prototype使用指南之dom.js
2007/01/10 Javascript
JS 判断代码全收集
2009/04/28 Javascript
JavaScript 继承详解(一)
2009/07/13 Javascript
jQuery 阴影插件代码分享
2012/01/09 Javascript
推荐17个优美新鲜的jQuery的工具提示插件
2012/09/14 Javascript
js 自定义个性下拉选择框示例
2013/08/20 Javascript
巧用局部变量提升javascript性能
2014/02/24 Javascript
Windows系统下使用Sublime搭建nodejs环境
2015/04/13 NodeJs
JS实现的另类手风琴效果网页内容切换代码
2015/09/08 Javascript
浅谈javascript中的call、apply、bind
2016/03/06 Javascript
微信开发 使用picker封装省市区三级联动模板
2016/10/28 Javascript
使用AngularJS 跨站请求如何解决jsonp请求问题
2017/01/16 Javascript
Angularjs 手写日历的实现代码(不用插件)
2017/10/18 Javascript
对Angular中单向数据流的深入理解
2018/03/31 Javascript
js代码规范之Eslint安装与配置详解
2018/09/08 Javascript
[05:13]TI4 中国战队 机场出征!!
2014/07/07 DOTA
[00:12]DAC2018 天才少年转战三号位,他的SOLO是否仍如昔日般强大?
2018/04/06 DOTA
[01:14]英雄,所敬略同——2018完美盛典宣传视频4K
2018/12/05 DOTA
Python中实现三目运算的方法
2015/06/21 Python
Python 专题三 字符串的基础知识
2017/03/19 Python
python-docx文件定位读取过程(尝试替换)
2020/02/13 Python
美国正宗奢华复古手袋、珠宝及配饰网站:What Goes Around Comes Around
2018/07/21 全球购物
兰蔻法国官方网站:Lancôme法国
2020/02/22 全球购物
2014年实习期工作总结
2014/11/27 职场文书
故意伤害辩护词
2015/05/21 职场文书
家庭教育教师培训学习体会
2016/01/14 职场文书
解除租赁合同协议书
2016/03/21 职场文书
mysql sock文件存储了什么信息
2022/07/15 MySQL