next在python中返回迭代器的实例方法
作者:小妮浅浅 发布时间:2022-10-28 12:35:41
标签:next,python,迭代器
在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
从上面的结果可以看出来,列表是一个可迭代的对象,但是不是迭代器,同样的字典,元组,字符串也不是迭代器,另外,数字既不是迭代器对象,也不是可迭代的对象。
来源:https://www.py.cn/jishu/jichu/21973.html


猜你喜欢
- 目录前言场景模拟总结前言近期多次聊到sql_mode的话题,也是多次遇到相关问题,今天就趁热打铁,再给大家带来一个sql_mode的案例分享
- 图像的轮廓检测,如计算多边形外界、形状毕竟、计算感兴趣区域等。Contours : Getting Started轮廓简单地解释为连接所有连
- 我们在用Firefox上一些网站会看到这样的显示:现在时间是:108年1月26日而IE浏览器的话就显示正常的:现在时间是:2008年1月26
- 一个已知管用的方法是,使用session_set_save_handler,接管所有的session管理工作,一般是把session信息存储
- 本文实例讲述了Python学习笔记之迭代器和生成器用法。分享给大家供大家参考,具体如下:迭代器和生成器迭代器每次可以返回一个对象元素的对象,
- 你知道世界上有多少种浏览器吗?除了我们熟知的IE, Firefox, Opera, Safari四大浏览器之外,世界上还有近百种浏览器。几天
- 判断字符串s.isalnum() #所有字符都是数字或者字母s.isalpha() #所有字符都是字母s.isdigit() #所有字符都是
- 做项目的时候,一位同事导数据的时候,不小心把一个表中的数据全都搞重了,也就是说,这个表里所有的记录都有一条重复的。这个表的数据是千万级的,而
- 在编写一些小程序时,我需要比较两个字符串是否相同。一开始的思路是使用ord()函数获取字符的整数表示,但是调试过后发现,ord()函数传入的
- Conv2d的简单使用torch 包 nn 中 Conv2d 的用法与 tensorflow 中类似,但不完全一样。在 torch 中,Co
- 机器学习可应用在各个方面,本篇将在系统性进入机器学习方向前,初步认识机器学习,利用线性回归预测波士顿房价;原理简介利用线性回归最简单的形式预
- 先设定一个关系模型如下:from django.db import modelsclass Blog(models.Model): name
- 所需补丁及高版本opatchimage上传后将p6880880_112000_Linux-x86-64.zip解压覆盖$ORACLE_HOM
- 1.安装依赖包 pip install channels channels-redis2.settings.py 修改加上支持INSTALL
- 熬了半个通宵,写出了自己的Google SiteMap文件,在这里给出详细编写教程,愿对大家有所帮助。Google SiteMap的作用及协
- 本文实例讲述了Python进程间通信Queue消息队列用法。分享给大家供大家参考,具体如下:进程间通信-QueueProcess之间有时需要
- 背景:pytest以特定规则搜索测试用例,所以测试用例文件、测试类以及类中的方法、测试函数这些命名都必须符合规则,才能被pytest搜索到并
- 简介:numba是Anaconda公司开发的针对Python的开源JIT编译器,用于提供Python版CPU和GPU编程,速度比原生Pyth
- 类 型描 述EmptyVariable 没有被初始化,它是数字的话,它的值就为0,如果它是字符串,那么它的值就为1N
- 在python中,普通的列表list和numpy中的数组array是不一样的,最大的不同是:一个列表中可以存放不同类型的数据,包括int、f