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中的anydbm模版和shelve模版使用指南
Jul 09 Python
浅谈python字符串方法的简单使用
Jul 18 Python
python连接mysql实例分享
Oct 09 Python
详解Python 序列化Serialize 和 反序列化Deserialize
Aug 20 Python
浅谈tensorflow1.0 池化层(pooling)和全连接层(dense)
Apr 27 Python
使用PM2+nginx部署python项目的方法示例
Nov 07 Python
Python 从相对路径下import的方法
Dec 04 Python
django数据关系一对多、多对多模型、自关联的建立
Jul 24 Python
python 读取更新中的log 或其它文本方式
Dec 24 Python
Python2与Python3的区别详解
Feb 09 Python
使用豆瓣源来安装python中的第三方库方法
Jan 26 Python
pytorch中的torch.nn.Conv2d()函数图文详解
Feb 28 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
杏林同学录(九)
2006/10/09 PHP
解析PHP高效率写法(详解原因)
2013/06/20 PHP
PHP图片自动裁切应付不同尺寸的显示
2014/10/16 PHP
在图片上显示左右箭头类似翻页的代码
2013/03/04 Javascript
JavaScript移除数组元素减少长度的方法
2013/09/05 Javascript
在父页面调用子页面的JS方法
2013/09/29 Javascript
Jquery简单分页实现方法
2015/07/24 Javascript
jQuery实现仿QQ在线客服效果的滚动层代码
2015/10/15 Javascript
微信小程序  自定义创建详细介绍
2016/10/27 Javascript
微信小程序scroll-view仿拼多多横向滑动滚动条
2020/04/21 Javascript
Vue组件之单向数据流的解决方法
2018/11/10 Javascript
微信小程序实现slideUp、slideDown滑动效果及点击空白隐藏功能示例
2018/12/11 Javascript
微信小程序实现简单表格
2019/02/14 Javascript
vue多层嵌套路由实例分析
2019/03/19 Javascript
深入浅析golang zap 日志库使用(含文件切割、分级别存储和全局使用等)
2020/02/19 Javascript
利用 Chrome Dev Tools 进行页面性能分析的步骤说明(前端性能优化)
2021/02/24 Javascript
Python使用urllib2获取网络资源实例讲解
2013/12/02 Python
python fabric实现远程操作和部署示例
2014/03/25 Python
Python中的异常处理学习笔记
2015/01/28 Python
Python程序中用csv模块来操作csv文件的基本使用教程
2016/03/03 Python
Python实现的购物车功能示例
2018/02/11 Python
Python 函数基础知识汇总
2018/03/09 Python
详解Python3 对象组合zip()和回退方式*zip
2019/05/15 Python
在python中,使用scatter绘制散点图的实例
2019/07/03 Python
python傅里叶变换FFT绘制频谱图
2019/07/19 Python
python使用pip安装SciPy、SymPy、matplotlib教程
2019/11/20 Python
Python 排序最长英文单词链(列表中前一个单词末字母是下一个单词的首字母)
2020/12/14 Python
HTML5中的音频和视频媒体播放元素小结
2016/01/29 HTML / CSS
c/c++某大公司的两道笔试题
2014/02/02 面试题
进程的查看和调度分别使用什么命令
2015/03/25 面试题
企业宣传策划方案
2014/05/29 职场文书
创建绿色社区汇报材料
2014/08/22 职场文书
2015年小学生新年寄语
2014/12/08 职场文书
婚宴主持词
2015/06/30 职场文书
python pyhs2 的安装操作
2021/04/07 Python
python scrapy简单模拟登录的代码分析
2021/07/21 Python