首页 > 编程语言 >python next() iter()使用

python next() iter()使用

时间:2023-02-23 18:03:01浏览次数:46  
标签:val 迭代 python object iter next StopIteration

说明:next()、iter()这两个函数一般配套使用。下面先介绍用法,后说明用途。

用法:

  • iter( object ):生成可迭代对象的迭代器;object必须是可迭代对象,比如list、tuple、dict等;
  • next( iter, end_num ):每执行一次,按顺序每次从迭代器中提取一个元素。如果没有第2个参数时,当从迭代器中取完所有元素后会报StopIteration错误,提示已取完;若有第2个参数,超出运行部分会一直打印end_num这个东西而不报任何错误。

b = [1,3,4,5]
b = iter(b) # 获得可迭代对象的迭代器
for x in range(8):
print( next(x) ) # 每执行一次next()函数,就依次抽一个元素出来

# 结果:
1
3
4
5
---------------------------------------------------------------------------
StopIteration Traceback (most recent call last)
<ipython-input-30-a8068fff7e9c> in <module>
2 b = iter(b)
3 for x in range(8):
StopIteration:
b = [1,3,4,5]
b = iter(b) # 获得可迭代对象的迭代器
for x in range(8):
print( next(x, -2) ) # 超出部分,都取-2

# 结果:
1
3
4
5
-2
-2
-2
-2

用途:其实next( iter(object) )就是从可迭代对象object中依次取元素,和直接用索引来取元素没有本质的区别。但是这种取法的好处就是next()会自动帮你记录已经取到第几个了!无论何地使用这条语句,它都会自动继续帮你往下取值!—— 即:不用多次记该取第几个索引值了。

distdepth中代码

try:
#从验证数据集中依次取出数据
inputs = next(self.val_iter)
except StopIteration:
#如果迭代完成,从头开始迭代???
self.val_iter = iter(self.val_loader)
inputs = next(self.val_iter)

1)init部分------加载数据集进来----创建迭代器对象

python next() iter()使用_迭代器

2)eval_save部分

python next() iter()使用_迭代器_02


参考文章:

​https://www.jianshu.com/p/aa6b17d303e9​

标签:val,迭代,python,object,iter,next,StopIteration
From: https://blog.51cto.com/u_12074581/6081624

相关文章

  • Python字典 values() 方法
    ​​dict.keys()​​​、dict.values()和 ​​dict.items()​​ 返回的都是视图对象(viewobjects),提供了字典实体的动态视图,这就意味着字典改变,视图也会跟着变化。视图对......
  • adaboost方法步骤和python实现捏
    标准AdaBoost算法只适用于二分类任务AdaBoost(AdaptiveBoosting)是一种常用的集成学习算法,用于提高分类器的准确性。其基本思想是根据训练数据的分类情况调整分类器权重,从......
  • Mongodb报错:SyntaxError: identifier starts immediately after numeric literal
    我在练习mongodb命令的时候,这段怎么也无法通过,一直报错:SyntaxError:identifierstartsimmediatelyafternumericliteraldb.mycol.insertMany([{_id:ObjectId(7df78a......
  • python爬虫篇1:爬妹子图片
    爬虫学习伊始,参考网上素材,自己写出来的,比较简单:主要运用了request爬取,正则表达式解析importrequestsimportreimportosfromurllibimporterrordefmain():dirPath=......
  • Python的八个实用脚本,需要的赶紧码住
    脚本写的好,下班下得早!程序员的日常工作除了编写程序代码,还不可避免地需要处理相关的测试和验证工作。例如,访问某个网站一直不通,需要确定此地址是否可访问,服务器返回什么,进......
  • nextFloat()的一些问题
    关于nextFloat()的一些问题 publicstaticvoidmain(String[]args){​    floatb=0.0F;​    Scannerscanner=newScanner(System.in);  ......
  • python学习笔记
    1.变量名称区分大小写(age、Age和AGE是三个不同的变量)2.在函数内部创建一个与全局变量同名的变量:x="awesome"defmyfunc():x="fantastic"print("Pythonis"......
  • Python字符串方法
    31个必备的Python字符串方法▍1、Slicingslicing切片,按照一定条件从列表或者元组中取出部分元素(比如特定范围、索引、分割值)s='hello's=s[:]print(s)#......
  • python入门之函数返回值的应用
    """函数返回值应用"""#函数设计思想:#分而治之#干一件事#需求:定义两个数字相加的函数#defadd():#1.获取数据#number01=int(i......
  • Python str字符串实用小案例分享!
    Pythonstr其实就是字符串,在工作中我们经常会接触到字符串这个数据类型,常见的例子比如取值,首字母大写、所有变小写,但是很多同学都不知道该如何实现这个功能,以下是详细......