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之编写类之三子类
Oct 11 Python
Python多线程编程(五):死锁的形成
Apr 05 Python
Python之自动获取公网IP的实例讲解
Oct 01 Python
Python3多线程爬虫实例讲解代码
Jan 05 Python
Python向MySQL批量插数据的实例讲解
Mar 31 Python
Python实现随机生成手机号及正则验证手机号的方法
Apr 25 Python
Python登录注册验证功能实现
Jun 18 Python
python 将print输出的内容保存到txt文件中
Jul 17 Python
用vue.js组件模拟v-model指令实例方法
Jul 05 Python
学习Python需要哪些工具
Sep 04 Python
Python用requests库爬取返回为空的解决办法
Feb 21 Python
用Python将GIF动图分解成多张静态图片
Jun 11 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
一个连接两个不同MYSQL数据库的PHP程序
2006/10/09 PHP
php adodb操作mysql数据库
2009/03/19 PHP
解析数组非数字键名引号的必要性
2013/08/09 PHP
Mootools 1.2 手风琴(Accordion)教程
2009/09/15 Javascript
关于jQuery新的事件绑定机制on()的使用技巧
2013/04/26 Javascript
解析Jquery的LigerUI如何实现文件上传
2013/07/09 Javascript
Egret引擎开发指南之编译项目
2014/09/03 Javascript
JS往数组中添加项性能分析
2015/02/25 Javascript
jQuery实现预加载图片的方法
2015/03/17 Javascript
js模拟淘宝网的多级选择菜单实现方法
2015/08/18 Javascript
Node.js中常规的文件操作总结
2016/10/13 Javascript
AngularJS实现与Java Web服务器交互操作示例【附demo源码下载】
2016/11/02 Javascript
微信小程序 解决swiper不显示图片的方法
2017/01/04 Javascript
jQuery EasyUI tree增加搜索功能的实现方法
2017/04/27 jQuery
Vue.js学习笔记之修饰符详解
2017/07/25 Javascript
在vue.js中使用JSZip实现在前端解压文件的方法
2018/09/05 Javascript
jquery分页插件pagination使用教程
2018/10/23 jQuery
JAVA面试题 static关键字详解
2019/07/16 Javascript
微信小程序indexOf的替换方法(推荐)
2020/01/14 Javascript
实用的 vue tags 创建缓存导航的过程实现
2020/12/03 Vue.js
Python使用Redis实现作业调度系统(超简单)
2016/03/22 Python
Python使用smtp和pop简单收发邮件完整实例
2018/01/09 Python
NumPy 如何生成多维数组的方法
2018/02/05 Python
在Python中Dataframe通过print输出多行时显示省略号的实例
2018/12/22 Python
Django 全局的static和templates的使用详解
2019/07/19 Python
Python实现打印实心和空心菱形
2019/11/23 Python
python3光学字符识别模块tesserocr与pytesseract的使用详解
2020/02/26 Python
python ImageDraw类实现几何图形的绘制与文字的绘制
2020/02/26 Python
python数据类型强制转换实例详解
2020/06/22 Python
python爬虫---requests库的用法详解
2020/09/28 Python
Python实现哲学家就餐问题实例代码
2020/11/09 Python
巴西24小时在线药房:Drogasil
2020/06/20 全球购物
了解AppleTalk协议吗
2014/04/01 面试题
工会工作先进事迹
2014/08/18 职场文书
出生公证书
2015/01/23 职场文书
2015学生会文艺部工作总结
2015/04/03 职场文书