python学习笔记-迭代器

原创 2017年01月02日 22:36:23

迭代器的作用:
迭代器的作用就是迭代,可以让不是序列但是表现出序列行为,例如迭代字典的键,文件的行

迭代器的定义:

    提供可扩展的迭代器接口
    对列表迭代带来性能上的增强
    在字典迭代中性能提升
    创建真正的迭代接口,而不是原来的随机对象访问
    与所有已经存在的用户定义的类以及扩展的模拟序列和映射的对象向后兼容
    迭代非序列集合(例如映射和文件)时,可以创建更简洁可读的代码

迭代器就是由next()方法的对象

内建函数:
reverse()反序迭代器
enumerate()返回迭代器
any()迭代器中某个值为true时返回true
all()迭代器中全部值为true时返回true
使用迭代器

序列使用迭代器:

myTuple = (123,'xyz',45.67)
i = iter(myTuple)
i.next()

for i in seq:
do_something_to(i)

字典中使用迭代器:
字典的迭代器会迭代字典的键值

for eachKey in myDict.keys():
print "%s key",eachKey,"%s data",myDict[eachKey]

文件中使用迭代器:

for eachline in open('abc.txt'):
XXXX

如何创建迭代器

对一个对象调用iter()就可以得到它的迭代器

iter(obj)
iter(func,sentinel)

类如果要使用迭代器需要实现 iter()方法和next()方法

版权声明:本文为博主原创文章,未经博主允许不得转载。

python迭代器以及生成器

迭代,即重复做一些事很多次,python中通过for循环可以对序列、字典以及其他的对象进行迭代。在其他对象进行迭代时,需要在其他对象中实现__iter__方法。 __iter__方法返回一个迭代器,...
  • zhangjiuchao
  • zhangjiuchao
  • 2016年08月17日 17:01
  • 612

Python 迭代器

1.迭代器     1.1介绍     访问一个列表或元组时很平常的做法是通过下标访问例如:lst = [1, 2, 3, 4, 5] for i in range(len(lst)): pr...
  • shuaijiasanshao
  • shuaijiasanshao
  • 2016年04月26日 11:20
  • 5179

python迭代器 for循环

3. 迭代器 3.1. 迭代器(Iterator)概述 迭代器是访问集合内元素的一种方式。迭代器对象从集合的第一个元素开始访问,直到所有的元素都被访问一遍后结束。 迭代器不能回退,只能往前...
  • lewis_bo
  • lewis_bo
  • 2015年02月11日 22:53
  • 1606

Python 迭代器的概念

使用迭代器的理由: 1、“流式”数据处理方式减少内存消耗: 比如处理文件,一下猛地把全部数据全部取出来放到内存里面进行处理会导致程序消耗大量内存,有时甚至没法做到,一般我们会一部分一部分的对文件内容进...
  • lujiandong1
  • lujiandong1
  • 2015年09月17日 12:14
  • 649

【Python那些事儿】Python中的迭代器

主要记录:迭代器(iterator)协议 对象必须提供一个next()方法,执行该方法时,要么返回迭代中的下一项,要么引起一个StopIteration异常。 只能往前访问,不会后退。 在Python...
  • duxu24
  • duxu24
  • 2016年12月21日 17:25
  • 1155

python3:迭代器

python支持在容器上迭代,通过两个方法实现,允许用户自定义,序列总是支持迭代方法,后面介绍序列的时候会涉及更多的细节。 容器中的迭代 容器需要定义下面的方法以提供迭代支持: containe...
  • liuy_98_1001
  • liuy_98_1001
  • 2015年03月25日 15:06
  • 2597

零基础学python-13.1 迭代器简介与文件迭代器

1.迭代器简介 可迭代对象:列表、元组、字符串 迭代工具:for循环、列表解析、in成员关系测试、map内建函数 下面是一些例子: >>> for item in (1,3,4,5): p...
  • raylee2007
  • raylee2007
  • 2015年09月08日 22:49
  • 1882

Python中生成器和迭代器的区别

Python中生成器和迭代器的区别:
  • u014745194
  • u014745194
  • 2017年04月14日 21:20
  • 2944

python迭代器、生成器和yield语句

http://blog.csdn.net/pipisorry/article/details/22107553一、迭代器(iterator)迭代器:是一个实现了迭代器协议的对象,Python中的迭代器...
  • pipisorry
  • pipisorry
  • 2014年12月22日 21:08
  • 3158

Python可迭代对象,迭代器,生成器的区别

本篇文章简单谈谈Python中可迭代对象,迭代器和生成器之间的关系。刚开始我认为这两者是等同的,但后来发现并不是这样;直接抛出结论: 可迭代对象包含迭代器。 如果一个对象拥有__iter__方法,其是...
  • jinixin
  • jinixin
  • 2017年05月16日 12:39
  • 680
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:python学习笔记-迭代器
举报原因:
原因补充:

(最多只允许输入30个字)