python迭代器的使用方法实例
什么是迭代器?
迭代器是带有next方法的简单对象,当然也要实现__iter__函数。迭代器能在一序列的值上进行迭代,当没有可供迭代时,next方法就会引发StopIteration 的异常。python中有很多的对象都是迭代器,例如:列表,元素,字符串,文件,映射,集合
如何使用迭代器?
1. for 变量 in 可迭代对象
list1 = [1,2,3,4,5]
for ele in list1:
print ele,
结果为:1 2 3 4 5
2. if 变量 in 可迭代对象
list1 = [1,2,3,4,5]
var = 1
if var in list1:
print 'yes!'
else:
print 'No'
3. 变量 = iter(可迭代对象)
it = iter([1,2,3,4])
print it.next()
print it.next()
print it.next()
结果为:
1
2
3
最后,总结一下:迭代器就是一对象
相关推荐
-
详解Python迭代和迭代器
我们将要来学习python的重要概念迭代和迭代器,通过简单实用的例子如列表迭代器和xrange. 可迭代 一个对象,物理或者虚拟存储的序列.list,tuple,strins,dicttionary,set以及生成器对象都是可迭代的,整型数是不可迭代的.如果你不确定哪个可迭代哪个不可以,你需要用python内建的iter()来帮忙. >>> iter([1,2,3]) <listiterator object at 0x026C8970> >>> iter(
-
Python迭代器和生成器介绍
迭代器 迭代器是一个实现了迭代器协议的对象,Python中的迭代器协议就是有next方法的对象会前进到下一结果,而在一系列结果的末尾是,则会引发StopIteration. 在for循环中,Python将自动调用工厂函数iter()获得迭代器,自动调用next()获取元素,还完成了检查StopIteration异常的工作. 常用的几个内建数据结构tuple.list.set.dict都支持迭代器,字符串也可以使用迭代操作. 你也可以自己实现一个迭代器,如上所述,只需要在类的__iter__方法中
-
深入讲解Python中的迭代器和生成器
在Python中,很多对象都是可以通过for语句来直接遍历的,例如list.string.dict等等,这些对象都可以被称为可迭代对象.至于说哪些对象是可以被迭代访问的,就要了解一下迭代器相关的知识了. 迭代器 迭代器对象要求支持迭代器协议的对象,在Python中,支持迭代器协议就是实现对象的__iter__()和next()方法.其中__iter__()方法返回迭代器对象本身:next()方法返回容器的下一个元素,在结尾时引发StopIteration异常. __iter__()和next()
-
python中实现迭代器(iterator)的方法示例
概述 迭代器是访问集合元素的一种方式.迭代器对象从集合的第一个元素开始访问,直到所有的元素被访问完结束.迭代器只能往前不会后退. 延迟计算或惰性求值 (Lazy evaluation) 迭代器不要求你事先准备好整个迭代过程中所有的元素.仅仅是在迭代至某个元素时才计算该元素,而在这之前或之后,元素可以不存在或者被销毁.这个特点使得它特别适合用于遍历一些巨大的或是无限的集合. 今天创建了一个实体类,大致如下: class Account(): def __init__(self, account_n
-
python的迭代器与生成器实例详解
本文以实例详解了python的迭代器与生成器,具体如下所示: 1. 迭代器概述: 迭代器是访问集合元素的一种方式.迭代器对象从集合的第一个元素开始访问,直到所有的元素被访问完结束.迭代器只能往前不会后退,不过这也没什么,因为人们很少在迭代途中往后退. 1.1 使用迭代器的优点 对于原生支持随机访问的数据结构(如tuple.list),迭代器和经典for循环的索引访问相比并无优势,反而丢失了索引值(可以使用内建函数enumerate()找回这个索引值).但对于无法随机访问的数据结构(比
-
python中迭代器(iterator)用法实例分析
本文实例讲述了python中迭代器(iterator)用法.分享给大家供大家参考.具体如下: #--------------------------------------- # Name: iterators.py # Author: Kevin Harris # Last Modified: 03/11/04 # Description: This Python script demonstrates how to use iterators. #----------------------
-
Python中的迭代器漫谈
问题是在Python中进行循环的时候产生的,熟悉Python的都知道,它没有类似其它语言中的for循环, 只能通过for in的方式进行循环遍历.最典型的应用就是通过range函数产生一个列表,然后用for in进行操作,如下: 复制代码 代码如下: #!/usr/bin/env python for i in range(10): print i 代码的意义很好理解,range会产生一个列表,用for in最这个列表进行遍历,就有和类似for(i = 0;i<n;i++)同样的效果,r
-
python迭代器实例简析
本文实例讲述了python迭代器的简单用法,分享给大家供大家参考.具体分析如下: 生成器表达式是用来生成函数调用时序列参数的一种迭代器写法 生成器对象可以遍历或转化为列表(或元组等数据结构),但不能切片(slicing).当函数的唯一的实参是可迭代序列时,便可以去掉生成器表达式两端>的圆括号,写出更优雅的代码: >>>> sum(i for i in xrange(10)) 45 sum声明: sum(iterable[, start]) Sums start and the
-
Python中Iterator迭代器的使用杂谈
迭代器是一种支持next()操作的对象.它包含一组元素,当执行next()操作时,返回其中一个元素:当所有元素都被返回后,生成一个StopIteration异常. >>>a=[1,2,3] >>>ia=iter(a) >>>next(ia) 1 >>>next(ia) 2 >>>next(ia) 3 >>>next(ia) Traceback (most recent call last): Fil
-
python迭代器与生成器详解
例子 老规矩,先上一个代码: def add(s, x): return s + x def gen(): for i in range(4): yield i base = gen() for n in [1, 10]: base = (add(i, n) for i in base) print list(base) 这个东西输出可以脑补一下, 结果是[20,21,22,23], 而不是[10, 11, 12, 13]. 当时纠结了半天,一直没搞懂,后来齐老师稍微指点了一下, 突然想明白了-
随机推荐
- SQL Server使用一个语句块批量插入多条记录的三种方法
- SqlServer表死锁的解决方法分享
- cmd del命令 文件删除
- JavaScript设计模式之策略模式详解
- Android自制精彩弹幕效果
- javascript基本数据类型和转换
- 如何实现表格中行点击时的渐扩效果!
- 使用CSS解决文字环绕图片问题的代码
- SpringMVC对日期类型的转换示例
- 基于jquery的地址栏射击游戏代码
- SQLserver 实现分组统计查询(按月、小时分组)
- jQuery实现首页图片淡入淡出效果的方法
- js post方式传递提交的实现代码
- android通过配置文件设置应用安装到SD卡上的方法
- 图解Eclipse j2ee开发环境的搭建过程
- Struts2 控制文件上传下载功能实例代码
- Spring MVC 注解自动扫描失效原因分析
- 基于mysql的bbs设计(五)
- 在Windows系统上安装PHP运行环境文字教程
- Android中使用findViewByMe提升组件查找效率