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中使用wxPython开发的一个简易笔记本程序实例
Feb 08 Python
使用C语言来扩展Python程序和Zope服务器的教程
Apr 14 Python
python使用socket进行简单网络连接的方法
Apr 29 Python
Python中处理字符串的相关的len()方法的使用简介
May 19 Python
Python使用matplotlib绘制多个图形单独显示的方法示例
Mar 14 Python
Python实现的寻找前5个默尼森数算法示例
Mar 25 Python
Python3.8对可迭代解包的改进及用法详解
Oct 15 Python
python 并发下载器实现方法示例
Nov 22 Python
python科学计算之scipy——optimize用法
Nov 25 Python
通过python实现windows桌面截图代码实例
Jan 17 Python
浅谈图像处理中掩膜(mask)的意义
Feb 19 Python
Python爬虫之Selenium下拉框处理的实现
Dec 04 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 保留小数点
2009/04/21 PHP
mcrypt启用 加密以及解密过程详细解析
2013/08/07 PHP
php读取mysql的简单实例
2014/01/15 PHP
PHP模板引擎Smarty的缓存使用总结
2014/04/24 PHP
PHP中Fatal error session_start()错误解决步骤
2014/08/05 PHP
jquery插件 cluetip 关键词注释
2010/01/12 Javascript
jQuery + Flex 通过拖拽方式动态改变图片的代码
2011/08/03 Javascript
Extjs4中的分页应用结合前后台
2013/12/13 Javascript
JavaScript中的this关键字使用方法总结
2015/03/13 Javascript
使用RequireJS库加载JavaScript模块的实例教程
2016/06/06 Javascript
javascript滚轮控制模拟滚动条
2016/10/19 Javascript
bootstrapfileinput实现文件自动上传
2016/11/08 Javascript
JavaScript无缝滚动效果的实例代码
2017/03/27 Javascript
vue实现todolist基本功能以及数据存储功能实例详解
2019/04/11 Javascript
JavaScript实现随机点名器实例详解
2019/05/07 Javascript
Vue2.0实现简单分页及跳转效果
2019/07/29 Javascript
layui 数据表格+分页+搜索+checkbox+缓存选中项数据的方法
2019/09/21 Javascript
Django中实现一个高性能计数器(Counter)实例
2014/07/09 Python
使用Python标准库中的wave模块绘制乐谱的简单教程
2015/03/30 Python
Python Flask-web表单使用详解
2017/11/18 Python
在Python 中实现图片加框和加字的方法
2019/01/26 Python
Python中类的创建和实例化操作示例
2019/02/27 Python
python用for循环求和的方法总结
2019/07/08 Python
django 使用全局搜索功能的实例详解
2019/07/18 Python
Pytorch之finetune使用详解
2020/01/18 Python
使用Python将Exception异常错误堆栈信息写入日志文件
2020/04/08 Python
英国排名第一的停车场运营商:NCP
2019/08/26 全球购物
酒店销售主管岗位职责
2014/01/04 职场文书
小小的船教学反思
2014/02/21 职场文书
会计专业求职信
2014/08/10 职场文书
标准大学生职业生涯规划书写作指南
2014/09/18 职场文书
校运动会广播稿300字
2014/10/07 职场文书
无子女夫妻离婚协议书(4篇)
2014/10/20 职场文书
受资助学生感谢信
2015/01/21 职场文书
优秀教师个人总结
2015/02/11 职场文书
民间借贷借条如何写
2015/05/26 职场文书