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中用于检查英文字母大写的isupper()方法
May 19 Python
Python3中的真除和Floor除法用法分析
Mar 16 Python
python制作爬虫并将抓取结果保存到excel中
Apr 06 Python
Python实现自动为照片添加日期并分类的方法
Sep 30 Python
Python多项式回归的实现方法
Mar 11 Python
Django框架实现的分页demo示例
May 25 Python
Python 利用邮件系统完成远程控制电脑的实现(关机、重启等)
Nov 19 Python
Python+OpenCV 实现图片无损旋转90°且无黑边
Dec 12 Python
关于Python解包知识点总结
May 05 Python
对Matlab中共轭、转置和共轭装置的区别说明
May 11 Python
Python如何把十进制数转换成ip地址
May 25 Python
解决numpy矩阵相减出现的负值自动转正值的问题
Jun 03 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会员权限控制实现原理分析
2011/05/29 PHP
PHP输出缓存ob系列函数详解
2014/03/11 PHP
yii2控制器Controller Ajax操作示例
2016/07/23 PHP
PHP多进程编程实例详解
2017/07/19 PHP
PHP+原生态ajax实现的省市联动功能详解
2017/08/15 PHP
jQuery表格行换色的三种实现方法
2011/06/27 Javascript
javascript中对Attr(dom中属性)的操作示例讲解
2013/12/02 Javascript
node.js中的http.response.addTrailers方法使用说明
2014/12/14 Javascript
jquery特效 点击展示与隐藏全文
2015/12/09 Javascript
Extjs4.0 ComboBox如何实现三级联动
2016/05/11 Javascript
AngularJS基础 ng-keyup 指令简单示例
2016/08/02 Javascript
Bootstrap基本插件学习笔记之Alert警告框(20)
2016/12/08 Javascript
AngularJS表单基本操作
2017/01/09 Javascript
vuejs2.0运用原生js实现简单的拖拽元素功能示例
2017/02/24 Javascript
基于vue2.0动态组件及render详解
2018/03/17 Javascript
jQuery表单元素过滤选择器用法实例分析
2019/02/20 jQuery
jquery.tagsinput.js实现记录checkbox勾选的顺序
2019/09/21 jQuery
如何在postman中添加cookie信息步骤解析
2020/06/30 Javascript
python基础教程之面向对象的一些概念
2014/08/29 Python
Django文件存储 默认存储系统解析
2019/08/02 Python
python误差棒图errorbar()函数实例解析
2020/02/11 Python
python实现猜数游戏(保存游戏记录)
2020/06/22 Python
如何在VSCode下使用Jupyter的教程详解
2020/07/13 Python
Django如何实现防止XSS攻击
2020/10/13 Python
详解Python GUI编程之PyQt5入门到实战
2020/12/10 Python
python 下载文件的几种方法汇总
2021/01/06 Python
Melijoe时尚童装德国官网:Melijoe德国
2016/09/03 全球购物
Lee牛仔裤澳大利亚官网:美国著名牛仔裤品牌
2017/09/02 全球购物
会计辞职信范文
2014/01/15 职场文书
初中考试作弊检讨书
2014/02/01 职场文书
孝老爱亲模范事迹材料
2014/05/25 职场文书
安全施工标语
2014/06/07 职场文书
商务专员岗位职责范本
2014/06/29 职场文书
2016大一新生军训心得体会
2016/01/11 职场文书
退休劳动合同怎么写?
2019/10/25 职场文书
mysql对于模糊查询like的一些汇总
2021/05/09 MySQL