1、先来个样例,有个初步的印象:

myTuple=(123,'xyz',45.67)
i=iter(myTuple)
i.next()
123
i.next()
'xyz'
i.next()
45.67
i.next()
Traceback (most recent call last):
File "", line 1, in?
StopIteration

上面的代码中通过iter()函数显式的使用了迭代器,而迭代器就是一个包括了next函数的类,同一时候

平时我们在使用如:

for i in seq:
do_something_to(i)

时也使用到了迭代器。其真实的工作代码应该例如以下:

fetch=iter(seq)
while True:
try:
i = fetch.next()
except StopIteration:
break
do_something_to(i)

而。平时我们在显式的使用迭代器时也应该像上面一样将迭代器包裹在try…except…中

2、使用的类型

除元组外,列表、字典、文件等都能够使用,

如字典类型

for eachkey in myDict:
do_something_to(i)

字典的迭代器会遍历它的键

3、注意事项

在迭代可变对象时,不要试图改动它们。

迭代器和iter()函数的更多相关文章

  1. python迭代器与iter()函数实例教程

    python迭代器与iter()函数实例教程 发布时间:2014-07-16编辑:脚本学堂 本文介绍了python迭代器与iter()函数的用法,Python 的迭代无缝地支持序列对象,而且它还允许程 ...

  2. python3 发生器 迭代器 内置函数 协程 哈哈我又回来啦

    唉 犯傻了,干了一件虽有一点点道理的事情,但是却完全没有效果,我是不是傻,浪费了这么多时间在一件不可能的事情上,果然效果比道理更重要... 被一些琐事耽搁几天,python的学习都给我停了,擦!不过一 ...

  3. 【python基础】迭代器和生成器函数

    1.迭代器协议: 1.迭代器协议是指:对象必须提供一个 __next__() 方法,执行该方法要么返回迭代中的下一项,要么就引起一个StopIteration异常,以终止迭代(只能往后走不能往前退) ...

  4. python iter函数用法

    iter函数用法简述 Python 3中关于iter(object[, sentinel)]方法有两个参数. 使用iter(object)这种形式比较常见. iter(object, sentinel ...

  5. Python iter() 函数

    Python iter() 函数  Python 内置函数 描述 iter() 函数用来生成迭代器. 语法 以下是 iter() 方法的语法: iter(object[, sentinel]) 参数 ...

  6. python中的next()以及iter()函数

    我们首先要知道什么是可迭代的对象(可以用for循环的对象)Iterable: 一类:list,tuple,dict,set,str 二类:generator,包含生成器和带yield的generato ...

  7. Python中的next()\iter()函数详解

    什么是可迭代的对象(Iterable,即可以用for循环的对象)和迭代器(Iterator) Iterable: 一类是:list.tuple.dict.set.str 二类是:generator(都 ...

  8. 浅析python迭代器及生成器函数

    1. 什么是迭代协议? 迭代协议主要包括两方面的协议集,一种是迭代器协议,另一种是可迭代协议.对于迭代器协议来说,其要求迭代器对象在能够在迭代环境中一次产生一个结果.对于可迭代协议来说,就是一个对象序 ...

  9. python iter()函数迭代器

    迭代器为类序列对象提供了一个类序列的接口.python的迭代无缝地支持序列对象,而且它还允许程序员迭代非序列类型,包括用户定义的对象.迭代器用起来很灵巧,你可以迭代不是序列但表现处序列行为的对象,例如 ...

随机推荐

  1. [转]Android | Simple SQLite Database Tutorial

    本文转自:http://hmkcode.com/android-simple-sqlite-database-tutorial/ Android SQLite database is an integ ...

  2. Html基础学习(基于W3school网络教程)

    //防止乱码 head中加入 <meta http-equiv="Content-Type" content="text/html; charset=utf-8&q ...

  3. 3--Java NIO基础1

    一.NIO概述 1. BIO带来的挑战 BIO即堵塞式I/O,数据在写入或读取时都有可能堵塞,一旦有堵塞,线程将失去CPU的使用权,性能较差. 2. NIO工作机制 Java NIO由Channel. ...

  4. WEB文件上传之apache common upload使用(一)

    文件上传一个经常用到的功能,它有许多中实现的方案. 页面表单 + RFC1897规范 + http协议上传 页面控件(flash/html5/activeX/applet) + RFC1897规范 + ...

  5. html5——过渡

    transition:1.开始状态   2.终止状态    3.过渡属性 transition: width 2s, background-color 2s;//属性,时间 transition: a ...

  6. Ubuntu 18.04 安装chrome浏览器

    参考 https://blog.csdn.net/cyem1/article/details/86297197 一分钟安装教程! 1.将下载源加入到系统的源列表(添加依赖) sudo wget htt ...

  7. nuxt https

    我用的模板是nxut-express,版本是:1.4.2.服务器:阿里云.一.申请免费证书:网站能通过https访问,首先得申请https证书,付费的阿里云上有售卖的,一年几千块.免费的可以通过cer ...

  8. Mock随机生成数据模拟后台接口

    <html> <head> <title>测试</title> <script src="http://code.jquery.com/ ...

  9. vue命令行创建运行工程

    // install vue-cli 安装依赖包 npm install --g vue-cli// 使用vue-cli初始化项目 vue init webpack my-project// inst ...

  10. Python-暑期实训day 1

    python基础: 一 编程语言 什么是编程语言? 上面提及的能够被计算机所识别的表达方式即编程语言,语言是沟通的介质,而编程语言是程序员与计算机沟通的介质.在编程的世界里,计算机更像是人的奴隶,人类 ...