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文件操作整理汇总
Oct 21 Python
python清除字符串里非数字字符的方法
Jul 02 Python
Python 包含汉字的文件读写之每行末尾加上特定字符
Dec 12 Python
Python进阶之尾递归的用法实例
Jan 31 Python
使用Python设计一个代码统计工具
Apr 04 Python
python微元法计算函数曲线长度的方法
Nov 08 Python
scrapy-redis的安装部署步骤讲解
Feb 27 Python
python3字符串操作总结
Jul 24 Python
python如何将两张图片生成为全景图片
Mar 05 Python
Python如何在main中调用函数内的函数方式
Jun 01 Python
Python实现淘宝秒杀功能的示例代码
Jan 19 Python
Python合并多张图片成PDF
Jun 09 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
PHP4实际应用经验篇(7)
2006/10/09 PHP
php smarty截取中文字符乱码问题?gb2312/utf-8
2011/11/07 PHP
PHP读取文件并可支持远程文件的代码分享
2012/10/03 PHP
PHP大小写问题:函数名和类名不区分,变量名区分
2013/06/17 PHP
php获取汉字拼音首字母的方法
2015/10/21 PHP
Yii框架实现多数据库配置和操作的方法
2017/05/25 PHP
PHP新特性详解之命名空间、性状与生成器
2017/07/18 PHP
使用jquery与图片美化checkbox和radio控件的代码(打包下载)
2010/11/11 Javascript
javascript生成随机数的方法
2014/05/16 Javascript
js实现绿白相间竖向网页百叶窗动画切换效果
2015/03/02 Javascript
AngularJS中实现显示或隐藏动画效果的方式总结
2015/12/31 Javascript
学习JavaScript设计模式之中介者模式
2016/01/14 Javascript
分享js粘帖屏幕截图到web页面插件screenshot-paste
2020/08/21 Javascript
全面解析JavaScript的Backbone.js框架中的Router路由
2016/05/05 Javascript
JS交互点击WKWebView中的图片实现预览效果
2018/01/05 Javascript
create-react-app使用antd按需加载的样式无效问题的解决
2019/02/26 Javascript
解决echarts vue数据更新,视图不更新问题(echarts嵌在vue弹框中)
2020/07/20 Javascript
[00:58]他们到底在电话里听到了什么?
2017/11/21 DOTA
python追加元素到列表的方法
2015/07/28 Python
Python的包管理器pip更换软件源的方法详解
2016/06/20 Python
python实现微信远程控制电脑
2018/02/22 Python
python绘制动态曲线教程
2020/02/24 Python
基于CSS3的animation属性实现微信拍一拍动画效果
2020/06/22 HTML / CSS
英国比较机场停车场网站:Airport Parking Essentials
2019/12/01 全球购物
当我正在为表建立索引的时候,SQL Server 会禁止对表的访问吗
2014/04/28 面试题
试解释COMMIT操作和ROLLBACK操作的语义
2014/07/25 面试题
数字天堂软件测试面试题
2012/12/23 面试题
汽车专业毕业生自荐信
2013/11/03 职场文书
安全生产年活动总结
2014/08/29 职场文书
校园主题婚礼活动策划方案
2014/09/15 职场文书
肖申克救赎观后感
2015/06/02 职场文书
白银帝国观后感
2015/06/17 职场文书
开学随笔
2015/08/15 职场文书
2019年手机市场的调研报告2篇
2019/10/10 职场文书
与Windows10相比Windows11有哪些改进?值不值得升级?
2021/11/21 数码科技
Redis实战之Lettuce的使用技巧详解
2022/12/24 Redis