python  反复访问迭代器iter,反复使用next

test = [1, 2, 3]# 定义迭代器
iter_test = iter(test)# 使用for循环访问迭代器
# 由于next()只向前走,所以当跌代到test最后一个值3之后,就会爆发异常StopIteration
# 这里使用了一个try语句,当报错时,删除该迭代器;重新生成迭代器;这就避免了报错
# 相当于next从头开始,先取1, 再取2, 再取3
for i in range(5):print(f'i:{i}')# c = next(iter_test)try:c = next(iter_test)print(f'try, c:{c}')print('\n')except:# 删除迭代器iter_testdel iter_test# 重新生成迭代器iter_testiter_test = iter(test)c = next(iter_test)print(f'except, c:{c}')print('\n')

运行结果

i:0
try, c:1i:1
try, c:2i:2
try, c:3i:3
except, c:1i:4
try, c:2

python 反复访问迭代器iter,反复使用next相关推荐

  1. Python 中的迭代器(iter、next)与生成器(yield)解析

    Python 中的迭代器(Iterator)是一个可以记住遍历位置的对象,用于迭代列表.元组.字典.集合和字符串等可迭代(Iterable)对象,迭代器从集合的第一个元素开始访问,直到所有的元素被访问 ...

  2. [Python] 生成迭代器 iter() 函数

    Python 生成迭代器 iter() 函数 功能: 函数用来生成迭代器. 语法: iter(object[, sentinel]) object – 支持迭代的集合,对象,比如list,元组等. s ...

  3. python迭代器两个基本方法可供参考_2018.8.10 python中的迭代器

    主要内容: 1.函数名的使用 2.闭包 3.迭代器 一.函数名的运用 函数名是一个变量,但他是一个特殊的变量,与括号配合可执行函数的变量. 1.函数名的内存地址 def func(): print(' ...

  4. 小学生都能学会的python(闭包和迭代器)

    小学生都能学会的python(闭包和迭代器) 1. 函数名第一类对象 函数名其实就是变量名 1). 可以像变量一样互相赋值. 2). 可以作为函数的参数,进行传递 3). 可以作为返回值返回 4). ...

  5. python之路---迭代器和生成器

    阅读目录 楔子 python中的for循环 可迭代协议 迭代器协议 为什么要有for循环 初识生成器 生成器函数 列表推导式和生成器表达式 本章小结 生成器相关的面试题 返回顶部 楔子 假如我现在有一 ...

  6. python3 next_对Python 3.2 迭代器的next函数实例讲解

    在python中,使用iter函数可以获得有序聚合类型的迭代器,我个人将迭代器理解为带有next指针的单向链表,获取到的迭代器为链表的表头,表头内容为空,next指针指向有序聚合类型的第一个元素.在访 ...

  7. python之路——迭代器和生成器

    楔子 假如我现在有一个列表l=['a','b','c','d','e'],我想取列表中的内容,有几种方式? 首先,我可以通过索引取值l[0],其次我们是不是还可以用for循环来取值呀? 你有没有仔细思 ...

  8. python之路——迭代器与生成器

    要了解for循环是怎么回事儿,咱们还是要从代码的角度出发. 首先,我们对一个列表进行for循环. for i in [1,2,3,4]: print(i) 上面这段代码肯定是没有问题的,但是我们换一种 ...

  9. Python生成器与迭代器

    Python生成器与迭代器 前言 首先,来让我们弄清楚可迭代对象 可迭代对象 在python中,可迭代对象并不是指某种具体的数据类型,它是指存储了元素的一个容器对象 也就是说,如果容器里面没有存储数据 ...

最新文章

  1. 字符串的模式匹配(Java实现)
  2. linux磁盘结构需要清理,无法删除文件:“结构需要清洁”
  3. 单片机定时器实验两位倒计时秒表_第5章 定时器与数码管基础
  4. static_cast, dynamic_cast, const_cast学习和探讨
  5. java中线程的6种状态
  6. PostgreSQL 分页——示例
  7. BootstrapTable冻结表头(一)
  8. 2016去哪儿编程题:字符替换
  9. 让局域网内部挺高网速
  10. AssertJ断言系列一
  11. wireshark找不到接口_下水管漏水,维修师傅看一眼就收了200,自己换其实不到10块...
  12. 再回首Java第二天
  13. c语言 勒让德多项式,2406: C语言习题 求n阶勒让德多项式(示例代码)
  14. Git教程——查看修改日志 (log diff)
  15. bp神经网络的主要功能,BP神经网络的实现包括
  16. 产品设计体会(五五)
  17. React.Children.only expected to receive a single React element child.【react-transition-group】
  18. 【8月】100个HC3i优秀医疗信息化资源推荐
  19. 8000 字深度长文!B端数据可视化设计指南(信息图表篇)
  20. 二、入门Python第二课

热门文章

  1. C 之父:C 的成功属于意料之外,C 11是转折点
  2. 东华大学计算机学院讲座单,计信学院成功举办2018级专业导师面对面系列讲座活动...
  3. 进程和线程计算机组成原理面试题,2016年云南财经大学信息学院计算机组成原理复试笔试最后押题五套卷...
  4. java怎么兼容switch_java – Switch语句给出了不兼容类型错误
  5. jquery怎么判断不同的字显示不同的颜色_这个双十一,摄影师的显示器该换了,优派VP2785-2K显示器评测_显示器...
  6. php程序xml有必要学习吗,对初学者非常有用的PHP技巧
  7. 【渝粤教育】国家开放大学2018年春季 3950T金融基础 参考试题
  8. 让电流检测更精确的AMR技术
  9. java无符号 uuid,java实现无符号数转换、字符串补齐、md5、uuid、随机数示例
  10. printf sizeof c语言,你可能对 sizeof(i++) 有点误解。。。