一:迭代器 在python中,很多对象可以直接通过for语句来直接遍历,例如:list、string、dict等等,这些被称为可迭代对象 迭代器是一个可以I记住遍历的位置的对象。 在python中,支持迭代器协议的就是实现对象的iter()和next()方法。 iter()方法返回迭代器本身 nex ...
分类:
其他好文 时间:
2017-07-28 22:31:12
阅读次数:
210
一、迭代器协议定义: 迭代:是一个重复的过程,每一次重复,都是基于上一次的结果而来 迭代器协议是指:对象必须提供一个next方法,执行该方法要么返回迭代中的下一项,要么就引起一个StopIteration异常,以终止迭代 (只能往后走不能往前退) 二、可迭代对象定义: 实现了迭代器协议的对象(如何实 ...
分类:
编程语言 时间:
2017-07-24 00:09:37
阅读次数:
215
一、定义 可以理解为一种数据类型,这种数据类型自动实现了迭代器协议(其他的数据类型需要调用自己内置的__iter__方法),所以生成器就是可迭代对象 二、生成器的两种形式(Python有两种不同的方式提供生成器) 1.生成器函数:常规函数定义,但是,使用yield语句而不是return语句返回结果。 ...
分类:
编程语言 时间:
2017-07-24 00:01:00
阅读次数:
281
迭代器的优点: 1提供了一种不依赖于索引的取值方式 2.惰性计算,节省内存 迭代器的缺点 1,取值不如按照索引取值方便 2,一次性的,只能往后走不能往前走 2无法获得长度 迭代器协议是指:对象必须提供一个next方法,执行该方法要么返回迭代中的下一项,要么就引起一个StopIteration异常,以 ...
分类:
其他好文 时间:
2017-06-30 13:52:24
阅读次数:
114
Python中的生成器和迭代器方便好用,但是平时对生成器和迭代器的特性掌握的不是很到位,今天将这方面的知识整理一下。 迭代器 为了更好的理解迭代器和生成,我们需要简单的回顾一下迭代器协议的概念。 迭代器协议 1.迭代器协议是指:对象必须提供一个next方法,执行该方法要么返回迭代中的下一项,要么就引 ...
分类:
编程语言 时间:
2017-06-30 01:10:46
阅读次数:
270
一、 迭代器 1.迭代器协议是指:对象必须提供一个next方法,执行该方法要么返回迭代中的下一项,要么就引起一个StopIteration异常,以终止迭代 (只能往后走不能往前退) 2.可迭代对象:实现了迭代器协议的对象(如何实现:对象内部定义一个iter()方法) 3.协议是一种约定,可迭代对象实 ...
分类:
其他好文 时间:
2017-06-20 00:13:16
阅读次数:
282
第八篇 迭代器协议和生成器 阅读目录 一 递归和迭代 二 什么是迭代器协议 三 python中强大的for循环机制 四 为何要有for循环 五 生成器初探 六 生成器函数 七 生成器表达式和列表解析 八 生成器总结 二 什么是迭代器协议 1.迭代器协议是指:对象必须提供一个next方法,执行该方法要 ...
分类:
其他好文 时间:
2017-06-19 18:32:07
阅读次数:
213
一 递归和迭代 略 二 什么是迭代器协议 1.迭代器协议是指:对象必须提供一个next方法,执行该方法要么返回迭代中的下一项,要么就引起一个StopIteration异常,以终止迭代 (只能往后走不能往前退) 2.可迭代对象:实现了迭代器协议的对象(如何实现:对象内部定义一个__iter__()方法 ...
分类:
其他好文 时间:
2017-06-19 16:25:20
阅读次数:
123
什么是生成器? 可以理解为一种数据类型,这种数据类型自动实现了迭代器协议(其他的数据类型需要调用自己内置的__iter__方法),所以生成器就是可迭代对象。 生成器分类及在python中的表现形式:(Python有两种不同的方式提供生成器) 1.生成器函数:常规函数定义,但是,使用yield语句而不 ...
分类:
编程语言 时间:
2017-06-18 16:15:52
阅读次数:
136
一:迭代器 1.什么是迭代? 1.重复 2.下一次重复是基于上一次的结果 2.迭代器协议 指:对象必须提供一个next方法,执行该方法要么返回迭代中的下一项,要么就引起一个StopIteration异常,以终止迭代 (只能往后走不能往前退)。 python 为了提供一种不依赖索引的迭代方式 以obj ...
分类:
其他好文 时间:
2017-06-17 12:05:32
阅读次数:
181