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安装mysql-python简明笔记(ubuntu环境)
Jun 25 Python
python魔法方法-属性访问控制详解
Jul 25 Python
python代码 if not x: 和 if x is not None: 和 if not x is None:使用介绍
Sep 21 Python
Python存取XML的常见方法实例分析
Mar 21 Python
python 重定向获取真实url的方法
May 11 Python
python实现flappy bird游戏
Dec 24 Python
在Pycharm中自动添加时间日期作者等信息的方法
Jan 16 Python
numpy创建单位矩阵和对角矩阵的实例
Nov 29 Python
详解Python3 中的字符串格式化语法
Jan 15 Python
PyPDF2读取PDF文件内容保存到本地TXT实例
May 12 Python
python 19个值得学习的编程技巧
Aug 15 Python
利用Selenium添加cookie实现自动登录的示例代码(fofa)
May 08 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/07/05 PHP
php模拟post行为代码总结(POST方式不是绝对安全)
2012/02/22 PHP
ThinkPHP中ajax使用实例教程
2014/08/22 PHP
php实现图片上传并利用ImageMagick生成缩略图
2016/03/14 PHP
关于PHP中协程和阻塞的一些理解与思考
2017/08/11 PHP
使用简洁的jQuery方法实现隔行换色功能
2014/01/02 Javascript
Js实现动态添加删除Table行示例
2014/04/14 Javascript
javascript关于继承的用法汇总
2014/12/20 Javascript
jQuery实现类似老虎机滚动抽奖效果
2015/08/06 Javascript
JS实现保留n位小数的四舍五入问题示例
2016/08/03 Javascript
Vue渲染函数详解
2017/09/15 Javascript
在Vue中使用Compass的方法
2018/03/02 Javascript
Angular6 Filter实现页面搜索的示例代码
2018/12/02 Javascript
JS div匀速移动动画与变速移动动画代码实例
2019/03/26 Javascript
vue-cli3+ts+webpack实现多入口多出口功能
2019/05/30 Javascript
通过GASP让vue实现动态效果实例代码详解
2019/11/24 Javascript
ant design实现圈选功能
2019/12/17 Javascript
vue+element UI实现树形表格
2020/12/29 Vue.js
[12:29]《一刀刀一天》之DOTA全时刻19:蝙蝠骑士田伯光再度不举
2014/06/10 DOTA
Pyhthon中使用compileall模块编译源文件为pyc文件
2015/04/28 Python
python基于urllib实现按照百度音乐分类下载mp3的方法
2015/05/25 Python
浅谈Series和DataFrame中的sort_index方法
2018/06/07 Python
Python3用tkinter和PIL实现看图工具
2018/06/21 Python
Python用5行代码写一个自定义简单二维码
2018/10/21 Python
详解python中的生成器、迭代器、闭包、装饰器
2019/08/22 Python
python使用socket实现的传输demo示例【基于TCP协议】
2019/09/24 Python
使用TensorFlow对图像进行随机旋转的实现示例
2020/01/20 Python
翻转数列python实现,求前n项和,并能输出整个数列的案例
2020/05/03 Python
电子商务个人自荐信
2013/12/12 职场文书
入学申请自荐信范文
2014/02/26 职场文书
节能环保口号
2014/06/12 职场文书
大四毕业生自荐书
2014/07/05 职场文书
小学标准化建设汇报材料
2014/08/16 职场文书
学生逃课检讨书1000字
2014/10/20 职场文书
优秀员工演讲稿
2019/06/21 职场文书
Redis Lua脚本实现ip限流示例
2022/07/15 Redis