python3 生成器笔记】的更多相关文章

#生成器def MyDemo(M): for i in range(M): yield i**2for item in MyDemo(9): print(item) # #生成器import sysa=(i**2 for i in range(5))while True: try: print(next(a)) except Exception: #现在有一个需求,求一段文字中,每个单词出现的位置. def index_words(text):#如果字段是空,那就返回0 if text=="&q…
#python3 学习笔记17/07/11 # !/usr/bin/env python3 # -*- conding:utf-8 -*- #通过列表生成式可以生成格式各样的list,这种list 一般是容量小的list #导入os模块,模块的概念后面讲到 import os #生成[1,2,3,4,5,6,7,8,9,10] l1 = list(range(1,11)) print("1-10",l1) # 生成[1*1, 2*2,...10*10] l2 = [] for x in…
#python3 学习笔记17/07/10 # !/usr/bin/env python3 # -*- coding:utf-8 -*- #类似 其他语言的for循环,但是比for抽象程度更高 # for ... in #通过collections模块的 Iterable 类型判断一个对象是否可以迭代 from collections import Iterable from collections import Iterator #list 有下标可以迭代,dict 没有下标,也可以迭代 d…
Python3学习笔记(urllib模块的使用)   1.基本方法 urllib.request.urlopen(url, data=None, [timeout, ]*, cafile=None, capath=None, cadefault=False, context=None) -         url:  需要打开的网址 -         data:Post提交的数据 -         timeout:设置网站的访问超时时间 直接用urllib.request模块的urlopen…
前言 最近乘着项目不忙想赶一波时髦学习一下Python3.由于正好学习了Docker,并深深迷上了Docker,所以必须趁热打铁的用它来创建我们的Python3的开发测试环境.Python3的中文教程是参考了廖雪峰的官方网站,教程非常详细,一步步照着学习就行了,我在自己的文章中就尽量不重复了.我会在自己后续的文章中会结合一些实例来学习Python3. 环境介绍 系统:Centos 7.4 编辑器:Vim 工具:Docker CE v17.09.0 & Docker Compose v1.17.0…
#python3 学习笔记17/07/10 # !/usr/bin/env python3 # -*- coding:utf-8 -*- #切片slice 大大简化 对于指定索引的操作 fruits = ["apple","origin","pear"] print("fruits",fruits) # 取前三个元素 索引从0开始,取到2(不包括2). part0_2 = fruits[0:2] print("par…
参考http://www.runoob.com/python3/python3-iterator-generator.html 迭代器 迭代器对象从集合的第一个元素开始访问,直到所有的元素被访问完结束.迭代器只能往前不会后退. 迭代器有两个基本的方法:iter() 和 next(). 字符串,列表或元组对象都可用于创建迭代器: list = [1,2,3,4]it = iter(list) # 创建迭代器对象print(next(it)) # 输出迭代器的下一个元素print(next(it))…
生成器的作用 生成器可以在循环的过程中推算出后续的元素,不必创建完整的list,从而节省大量空间. 生成器的创建 1.把一个列表生成式的 [ ] 改写为( ) # -*- coding: UTF-8 -*- gen= (x * x for x in range(10)) print(gen) 输出结果不是一个列表而是返回了一个生成器对象: <generator object <genexpr> at 0x00000190FA193AF0> 2.使用了yield,以函数的形式实现生成…
生成器 如果创建一个有很多元素的列表,但是只需要访问前几个元素,后面的元素占着的空间就白白浪费了 在循环的过程中不断推算出后续的元素呢?这样就不必创建完整的list,从而节省大量的空间. 在Python中,这种一边循环一边计算的机制,称为生成器:generator. 要创建一个generator,有很多种方法 第一种方法很简单,只要把一个列表生成式的[]改成(),就创建了一个generator: L = [x * x for x in range(10)] g = (x * x for x in…
目录: 一.列表生成器 二.生成器 三.迭代器 一.列表生成器 a = [x for x in range(10)] b= [y*2 for y in range(10)] def f(n) return n*n*n c = [f(z) for z in range(10)] 列表生成器会将所有的内容加载到内存中,在生成大量的数据时,会占用内存 生成器只会生成一个  generator object   ,占用很少内存,只会在调用时才产生值.且只能按顺序取值 二.生成器 1.基础代码 b = (…