生成器 如果列表元素可以按照某种算法推算出来,那我们是否可以在循环的过程中不断推算出后续的元素呢? 这样就不必创建完整的list,从而节省大量的空间。在Python中,这种一边循环一边计算的机制, 称为生成器:generator。 迭代器 可以被next()函数调用并不断返回下一个值的对象称为迭代器 ...
分类:
其他好文 时间:
2018-09-10 16:15:04
阅读次数:
101
迭代器 迭代器iterator同时有__next__(),__iter__()方法的数据类型可以被称为迭代器可迭代iterable有__iter__()方法的数据类型可以被迭代可迭代的数据类型(iterable):list,dic,str,set,tuple,enumerate,f(文件句柄),ra ...
分类:
其他好文 时间:
2018-08-30 20:06:23
阅读次数:
173
列表生成器 生成器 可以直接作用于for循环的数据类型有以下几种: 一类是集合数据类型,如list、tuple、dict、set、str等; 一类是generator,包括生成器和带yield的generator function。 这些可以直接作用于for循环的对象统称为可迭代对象:Iterabl ...
分类:
编程语言 时间:
2018-08-06 17:14:43
阅读次数:
183
列表生成器 首先举个例子 现在有个需求,看列表 [0,1,2,3,4,5,6,7,8,9],要求你把列表里面的每个值加1,你怎么实现呢? 方法一(简单): 1 2 3 4 5 6 7 8 9 info = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9] b = [] # for ind ...
分类:
编程语言 时间:
2018-06-03 12:36:45
阅读次数:
190
生成器和迭代器 列表生成式 现在有这么一个需求,要将 这个列表中的每个元素都加1,那么需要怎么实现呢?你可能会想到这几种方式: 其实还有一种写法,如下: 通过列表生成式,我们可以直接创建一个列表。但是受到内存限制,列表容量肯定是有限制的,就像是递归,最大递归深度python就对其作了限制。而且,创建 ...
分类:
其他好文 时间:
2018-05-23 00:07:38
阅读次数:
177
一、列表生成式 假如现在有这样一个需求:快速生成一个列表[1,2,3,4,5,6,7,8,9,10],该如何实现? 在不知道列表生成式的情况下,可能会这样写: 如果要每个值+1呢?可能会这样: 不够方便,这里讲一个快速生成列表的方法:列表生成式。意思就是立即生成列表。 生成一个1到10的列表: 生成 ...
分类:
编程语言 时间:
2018-05-13 21:07:16
阅读次数:
175
当前目录下所有文件的总大小递不断往函数内部走,归逐步往函数外部return惰性匹配贰分查找算法结构化时间解决输出乱码解释器加载了哪些模块开始符和结束符在正则中的用法跨平台两个时间之间的时分秒路径的拼接内置函数lambda表达式匹配小数或整数抢红包的算法取随机数如果匹配不上为空不能使用group,需要if判断生成器表达式生成器和迭代器本质上是一样的,有几个yield就能从中取出多少个值时间戳-结构化
分类:
编程语言 时间:
2018-05-12 11:57:33
阅读次数:
199
一、列表生成式: 1、生成一个列表: list = [ i*2 for i in range(10)] #使用列表生成式生成一个列表,占据内存空间,当数量大时会造成很大的浪费。 print(list) 2、使用生成器生成列表:(generator) list1 = ( i*2 for i in ra ...
分类:
编程语言 时间:
2018-05-04 18:22:17
阅读次数:
180
生成器 迭代器 内置函数 作业 一、生成器 1.1、列表生成器 问题引入:看列表[0, 1, 2, 3, 4, 5, 6, 7, 8, 9],我要求你把列表里的每个值加1 方案一: 方案二: 方案三:列表生成器 1.2、为什么要有生成器呢? 通过列表生成式,我们可以直接创建一个列表。但是,受到内存限 ...
分类:
编程语言 时间:
2018-04-30 16:36:13
阅读次数:
177
在Python中,很多对象都是可以通过for语句来直接遍历的,例如list、string、dict等等,这些对象都可以被称为可迭代对象。至于说哪些对象是可以被迭代访问的,就要了解一下迭代器相关的知识了。 迭代器 迭代器对象要求支持迭代器协议的对象,在Python中,支持迭代器协议就是实现对象的__i ...
分类:
编程语言 时间:
2018-04-08 14:39:37
阅读次数:
179