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实例代码教程在线版(查询手册)
Feb 18 Python
在Python中操作字符串之startswith()方法的使用
May 20 Python
Python黑魔法Descriptor描述符的实例解析
Jun 02 Python
Python实现计算两个时间之间相差天数的方法
May 10 Python
Python线程创建和终止实例代码
Jan 20 Python
Python多线程中阻塞(join)与锁(Lock)使用误区解析
Apr 27 Python
python面向对象入门教程之从代码复用开始(一)
Dec 11 Python
浅谈Scrapy网络爬虫框架的工作原理和数据采集
Feb 07 Python
Python代码块及缓存机制原理详解
Dec 13 Python
python GUI库图形界面开发之PyQt5复选框控件QCheckBox详细使用方法与实例
Feb 28 Python
详解Python中string模块除去Str还剩下什么
Nov 30 Python
Python作用域和名称空间的详细介绍
Apr 13 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调用MsSQL Server 2012存储过程获取多结果集(包含output参数)的详解
2013/07/03 PHP
PHP正则表达式入门教程(推荐)
2016/05/18 PHP
PHP 返回数组后处理方法(开户成功后弹窗提示)
2017/07/03 PHP
js操作label给label赋值及取label的值示例
2013/11/07 Javascript
jquery遍历筛选数组的几种方法和遍历解析json对象
2013/12/13 Javascript
jQuery中的read和JavaScript中的onload函数的区别
2014/08/27 Javascript
javascript中定义类的方法汇总
2014/12/28 Javascript
60行js代码实现俄罗斯方块
2015/03/31 Javascript
javascript实现rgb颜色转换成16进制格式
2015/07/10 Javascript
javascript实现随机显示星星特效
2016/01/28 Javascript
JS代码实现table数据分页效果
2016/05/26 Javascript
JS获取年月日时分秒的方法分析
2016/11/28 Javascript
js生成随机数方法和实例
2017/01/17 Javascript
Boostrap栅格系统与自己额外定义的媒体查询的冲突问题
2017/02/19 Javascript
JS正则表达式验证中文字符
2017/05/08 Javascript
Vue实现动态显示textarea剩余字数
2017/05/22 Javascript
Vue 幸运大转盘实现思路详解
2019/05/06 Javascript
vue实现移动端input上传视频、音频
2020/08/18 Javascript
[02:36]DOTA2英雄基础教程 一击致命幻影刺客
2013/12/06 DOTA
[03:02]2014DOTA2西雅图邀请赛 让队员自己告诉你DK NAVI备战情况
2014/07/08 DOTA
Python tornado队列示例-一个并发web爬虫代码分享
2018/01/09 Python
Python基于百度AI的文字识别的示例
2018/04/21 Python
python使用Plotly绘图工具绘制散点图、线形图
2019/04/02 Python
Pythony运维入门之Socket网络编程详解
2019/04/15 Python
python实现视频读取和转化图片
2019/12/10 Python
pycharm第三方库安装失败的问题及解决经验分享
2020/05/09 Python
pandas实现导出数据的四种方式
2020/12/13 Python
解决PyCharm无法使用lxml库的问题(图解)
2020/12/22 Python
2分钟教你实现环形/扇形菜单(基础版)
2020/01/15 HTML / CSS
美国高级音响品牌:Master&Dynamic
2018/07/05 全球购物
销售主管岗位职责
2014/02/08 职场文书
募捐倡议书
2014/04/14 职场文书
安全生产宣传标语
2014/06/06 职场文书
大跃进口号
2014/06/16 职场文书
python基于OpenCV模板匹配识别图片中的数字
2021/03/31 Python
python面向对象版学生信息管理系统
2021/06/24 Python