Python列表生成式与生成器操作示例


Posted in Python onAugust 01, 2018

本文实例讲述了Python列表生成式与生成器操作。分享给大家供大家参考,具体如下:

列表生成式:能够用来创建list的生成式

比如想要生成类似[1*1,2*2,3*3,…..100*100]的这种list

可以用

[x * x for x in range(1,11)]

这样就能生成,除此之外,后面还能添加判断条件来筛选

比如

[x * x for x in range(1,11) if x%2=0]

这样就能筛选出仅有偶数的平方

还能用多层循环来生成全排列

[m+n for m in 'ABC' for n in 'XYZ']

总之 列表生成式能够快速的生成满足条件的list

下面是一个让list中所有字符串变为小写的例子

[s.lower() for s in ['TIM','JOHN','MARY']

生成器:就是未循环完的列表,这是为了节约电脑内存,设立的一种一边循环一边计算的机制。

创建的方法也是很简单,其中一种就是把列表生成式的[]改成()就可以了

而调用的时候也一般不用麻烦的next()的方法,而是用for循环来遍历

比如:

g = (x*x for x in range(10))
for n in g:
  print(n)

运行结果:

0
1
4
9
16
25
36
49
64
81

这样就能遍历出所有的生成器中的元素

另一种生成器的方法:如果函数中包含有yield关键字,则这是一个生成器

def odd():
  print('step 1')
  yield 1
  print('step 2')
  yield(3)
  print('step 3')
  yield(5)

使用(遍历)方法:

g=odd()
for i in g:
  print(i)

运行结果:

step 1
1
step 2
3
step 3
5

更多关于Python相关内容可查看本站专题:《Python列表(list)操作技巧总结》、《Python字符串操作技巧汇总》、《Python数据结构与算法教程》、《Python函数使用技巧总结》、《Python入门与进阶经典教程》及《Python文件与目录操作技巧汇总》

希望本文所述对大家Python程序设计有所帮助。

Python 相关文章推荐
python中文乱码的解决方法
Nov 04 Python
python logging日志模块以及多进程日志详解
Apr 18 Python
对Pandas DataFrame缺失值的查找与填充示例讲解
Nov 06 Python
使用python将时间转换为指定的格式方法
Nov 12 Python
Win10环境python3.7安装dlib模块趟过的坑
Aug 01 Python
python elasticsearch环境搭建详解
Sep 02 Python
python logging日志模块原理及操作解析
Oct 12 Python
Python利用PyExecJS库执行JS函数的案例分析
Dec 18 Python
python多线程实现代码(模拟银行服务操作流程)
Jan 13 Python
python中列表的含义及用法
May 26 Python
解决Keyerror ''acc'' KeyError: ''val_acc''问题
Jun 18 Python
Python爬取科目四考试题库的方法实现
Mar 30 Python
Python开发最牛逼的IDE——pycharm
Aug 01 #Python
django从请求到响应的过程深入讲解
Aug 01 #Python
python3.6的venv模块使用详解
Aug 01 #Python
从请求到响应过程中django都做了哪些处理
Aug 01 #Python
Python WSGI的深入理解
Aug 01 #Python
Django进阶之CSRF的解决
Aug 01 #Python
python3利用venv配置虚拟环境及过程中的小问题小结
Aug 01 #Python
You might like
PHP为表单获取的URL 地址预设 http 字符串函数代码
2010/05/26 PHP
php 面试碰到过的问题 在此做下记录
2011/06/09 PHP
深入解析phpCB批量转换的代码示例
2013/06/27 PHP
destoon切换城市后实现logo旁边显示地区名称的方法
2014/08/21 PHP
php限制ip地址范围的方法
2015/03/31 PHP
php实现通过ftp上传文件
2015/06/19 PHP
PHP导出Excel实例讲解
2016/01/24 PHP
PHP云打印类完整示例
2016/10/15 PHP
PHP数据的提交与过滤基本操作实例详解
2016/11/11 PHP
基于jquery.Jcrop的头像编辑器
2010/03/01 Javascript
js时间日期格式化封装函数
2014/12/02 Javascript
扒一扒JavaScript 预解释
2015/01/28 Javascript
JS实现表格数据各种搜索功能的方法
2015/03/03 Javascript
JavaScript实现Iterator模式实例分析
2015/06/09 Javascript
JavaScript对象的浅拷贝与深拷贝实例分析
2018/07/25 Javascript
详解Webpack多环境代码打包的方法
2018/08/03 Javascript
微信小程序之裁剪图片成圆形的实现代码
2018/10/11 Javascript
JS实现的贪吃蛇游戏案例详解
2019/05/01 Javascript
js实现上传图片并显示图片名称
2019/12/18 Javascript
[58:18]2018DOTA2亚洲邀请赛3月29日 小组赛B组 iG VS Mineski
2018/03/30 DOTA
python数据结构之图深度优先和广度优先实例详解
2015/07/08 Python
解决python报错MemoryError的问题
2018/06/26 Python
Python 经典面试题 21 道【不可错过】
2018/09/21 Python
Django REST framework 如何实现内置访问频率控制
2019/07/23 Python
Python 共享变量加锁、释放详解
2019/08/28 Python
pip安装tensorflow的坑的解决
2020/04/19 Python
美国当红的名品折扣网:Gilt Groupe
2016/08/15 全球购物
StubHub澳大利亚:购买或出售您的门票
2019/08/01 全球购物
德国网上超市:myTime.de
2019/08/26 全球购物
职业生涯规划设计步骤
2014/01/12 职场文书
优秀少先队工作者事迹材料
2014/05/13 职场文书
护士长2015年终工作总结
2015/04/24 职场文书
幼儿园大班开学寄语(2016秋季)
2015/12/03 职场文书
2016应届毕业生就业指导课心得体会
2016/01/15 职场文书
市场营销计划书
2019/04/24 职场文书
python 闭包函数详细介绍
2022/04/19 Python