迭代器协议 1.迭代器协议是指:对象必须提供一个next方法,执行该方法要么返回迭代中的下一项,要么就引起一个Stoplteration异常,以终止迭代(只能往后走不能往前退) 2.可迭代对象:实现了迭代器协议的对象(如何实现:对象内部定义一个__iter__()方法) 3.协议是一种约定,可迭代对 ...
分类:
编程语言 时间:
2017-06-16 21:13:48
阅读次数:
198
一、列表生成式 列表生成式即List Comprehensions,是Python内置的非常简单却强大的可以用来创建list的生成式。 举个例子,要生成list [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]可以用list(range(1, 11)): 但如果要生成[1x1, 2x2 ...
分类:
编程语言 时间:
2017-05-30 15:56:56
阅读次数:
227
Python学习过程中的笔记,只做自己参考使用: lambda函数,匿名函数,当我们使用一个函数并且使用完成就删除时,可以使用匿名函数,比如f等于xyz三个之和: 生成器和迭代器: 生成器,我们常用的列表一般有两种方式生成,例如: 1、直接写出列表 2、通过列表生成式生成列表 上述两种列表是我们常用 ...
分类:
编程语言 时间:
2017-05-15 19:59:08
阅读次数:
214
这篇文章是对上一篇讲生成器和迭代器的文章做的补充。回顾一下概念,什么是生成器?生成器就是一个包涵yield关键字的函数,当这个函数被调用的时候,函数体中的代码不会被执行!而是返回了一个迭代器。每请求一个值,就回执行一次生成器中的代码,直到遇到yield或者return。其..
分类:
其他好文 时间:
2017-03-22 11:52:05
阅读次数:
148
一. 什么是生成器和迭代器 使用一个可迭代的对象比一个列表的好处: 还记得前面的filter和map吗,他们的返回值是一个相应的对象,我们可以循环这个对象,就取到了每个对象元素,而且取完之后,这个元素就没啦,一边取值,一边垃圾回收,这样相对于返回值直接是一个列表,就大大的节省了内存。因为如果返回值是 ...
分类:
编程语言 时间:
2017-02-27 21:19:23
阅读次数:
163
在正式接触生成器之前,我们先来了解一些概念 容器(container) 容器是一种把多个元素组织在一起的数据结构,容器中的元素可以逐个迭代获取,可以用in、not in关键字判断元素是否包含在容器中。通常这类数据结构把所有的元素存储在内存中(也有一些特殊的存在)。 Python中常见的容器对象: 提 ...
分类:
编程语言 时间:
2017-01-18 12:25:43
阅读次数:
242
1.迭代器:只能往后取值,不能后退 查看一个用.next(2.7),__next__(3.0) names=['lgs','mike','rain'] names=iter(['lgs','mike','rain']) print (names.next()) print(names.__next_ ...
分类:
其他好文 时间:
2016-11-19 02:19:20
阅读次数:
161
目录目录
相关知识点
生成器
生成器 fab 的执行过程
生成器和迭代器的区别
生成器的优势
加强的生成器特性
生成器表达式
生成器表达式样例
小结相关知识点Python 进阶_迭代器 & 列表解析 ...
分类:
编程语言 时间:
2016-09-17 17:59:44
阅读次数:
193
1. 迭代器
迭代器是访问集合元素的一种方式。迭代器对象从集合的第一个元素开始访问,知道所有的元素被访问完结束。迭代器只能往前不会后退,不过这也没什么,因为人们很少在迭代途中往后退。
1.1 使用迭代器的优点
对于原生支持随机访问的数据结构(如tuple、list),迭代器和经典for循环的索引访问相比并无优势,反而丢失了索引值(可以使用内建函数enume...
分类:
编程语言 时间:
2016-07-17 17:00:20
阅读次数:
300
迭代器 迭 代器是访问集合元素的一种方式。迭代器对象从集合的第一个元素开始访问,直到所有的元素被访问完结束。迭代器只能往前不会后退,不过这也没什么,因为人们 很少在迭代途中往后退。另外,迭代器的一大优点是不要求事先准备好整个迭代过程中所有的元素。迭代器仅仅在迭代到某个元素时才计算该元素,而在这之前或 ...
分类:
编程语言 时间:
2016-06-18 01:26:43
阅读次数:
262