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的Flask框架中实现简单的登录功能的教程
Apr 20 Python
Python编写登陆接口的方法
Jul 10 Python
Python面向对象之继承和组合用法实例分析
Aug 27 Python
详解django中url路由配置及渲染方式
Feb 25 Python
python+pyqt5编写md5生成器
Mar 18 Python
python画微信表情符的实例代码
Oct 09 Python
python错误调试及单元文档测试过程解析
Dec 19 Python
django使用F方法更新一个对象多个对象字段的实现
Mar 28 Python
Python 创建TCP服务器的方法
Jul 28 Python
pycharm Tab键设置成4个空格的操作
Feb 26 Python
Pytorch 中的optimizer使用说明
Mar 03 Python
Python实战之用tkinter库做一个鼠标模拟点击器
Apr 27 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
thinkphp文件处理类Dir.class.php的用法分析
2014/12/08 PHP
php将12小时制转换成24小时制的方法
2015/03/31 PHP
php使用mysqli和pdo扩展,测试对比mysql数据库的执行效率完整示例
2019/05/09 PHP
jquery插件 cluetip 关键词注释
2010/01/12 Javascript
javascript 中String.match()与RegExp.exec()的区别说明
2013/01/10 Javascript
js实现的下拉框二级联动效果
2016/04/30 Javascript
jquery自动补齐功能插件flexselect用法示例
2016/08/06 Javascript
深入学习Bootstrap表单
2016/12/13 Javascript
bootstrap datetimepicker日期插件超详细使用方法介绍
2017/02/23 Javascript
JS HTML图片显示Canvas 压缩功能
2017/07/21 Javascript
Django使用多数据库的方法
2017/09/06 Javascript
jQuery NProgress.js加载进度插件的简单使用方法
2018/01/31 jQuery
Vue 实现分页与输入框关键字筛选功能
2020/01/02 Javascript
JS实现iframe中子父页面跨域通讯的方法分析
2020/03/10 Javascript
微信小程序单选框自定义赋值
2020/05/26 Javascript
vue移动端弹起蒙层滑动禁止底部滑动操作
2020/07/22 Javascript
解决vue项目 build之后资源文件找不到的问题
2020/09/12 Javascript
JavaScript十大取整方法实例教程
2020/12/03 Javascript
vue3.0 自适应不同分辨率电脑的操作
2021/02/06 Vue.js
python字符串替换的2种方法
2014/11/30 Python
Pandas探索之高性能函数eval和query解析
2017/10/28 Python
pandas 取出表中一列数据所有的值并转换为array类型的方法
2018/04/11 Python
对Python中class和instance以及self的用法详解
2019/06/26 Python
python的sys.path模块路径添加方式
2020/03/09 Python
CSS3实现的闪烁跳跃进度条示例(附源码)
2013/08/19 HTML / CSS
英国最大的自有市场,比亚马逊便宜:Flubit
2019/03/19 全球购物
市场部管理制度
2014/02/02 职场文书
学术会议主持词
2014/03/17 职场文书
请假条标准格式规范
2014/04/10 职场文书
《欢乐的泼水节》教学反思
2014/04/22 职场文书
质量承诺书格式
2014/05/20 职场文书
物流管理专业自荐信
2014/06/23 职场文书
电影雷锋观后感
2015/06/10 职场文书
敬老院活动感想
2015/08/07 职场文书
一篇文章弄清楚Ajax请求的五个步骤
2022/03/17 Javascript