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缩进和冒号详解
Jun 01 Python
python操作redis方法总结
Jun 06 Python
pandas.dataframe按行索引表达式选取方法
Oct 30 Python
Python将列表数据写入文件(txt, csv,excel)
Apr 03 Python
基于Python打造账号共享浏览器功能
May 30 Python
Python 获取ftp服务器文件时间的方法
Jul 02 Python
python正则表达式匹配不包含某几个字符的字符串方法
Jul 23 Python
python 提取文件指定列的方法示例
Aug 07 Python
详解Ubuntu环境下部署Django+uwsgi+nginx总结
Apr 02 Python
python 多进程和协程配合使用写入数据
Oct 30 Python
如何用python清洗文件中的数据
Jun 18 Python
linux中nohup和后台运行进程查看及终止
Jun 24 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技术开发微信公众平台
2015/07/22 PHP
利用PHP生成CSV文件简单示例
2016/12/21 PHP
用js实现的一个Flash滚动轮换显示图片代码生成器
2007/03/14 Javascript
理解Javascript_01_理解内存分配原理分析
2010/10/11 Javascript
基于jquery的复制网页内容到WORD的实现代码
2011/02/16 Javascript
JQuery入门—编写一个简单的JQuery应用案例
2013/01/03 Javascript
Javascript实现视频轮播在pc端与移动端均可
2013/09/29 Javascript
javascript内置对象arguments详解
2014/03/16 Javascript
jquery.hotkeys监听键盘按下事件keydown插件
2014/05/11 Javascript
纯JS实现旋转图片3D展示效果
2015/04/12 Javascript
JavaScript DOM进阶方法
2015/04/13 Javascript
整理Javascript函数学习笔记
2015/12/01 Javascript
node.js实现博客小爬虫的实例代码
2016/10/08 Javascript
使用开源工具制作网页验证码的方法
2016/10/17 Javascript
javascript中json对象json数组json字符串互转及取值方法
2017/04/19 Javascript
微信小程序tabbar不显示解决办法
2017/06/08 Javascript
echarts实现地图定时切换散点与多图表级联联动详解
2018/08/07 Javascript
JS的Ajax与后端交互数据的实例
2018/08/08 Javascript
VUE在for循环里面根据内容值动态的加入class值的方法
2018/08/12 Javascript
nodejs高大上的部署方式(PM2)
2018/09/11 NodeJs
vue中实现Monaco Editor自定义提示功能
2019/07/05 Javascript
layui给下拉框、按钮状态、时间赋初始值的方法
2019/09/10 Javascript
python控制台英汉汉英电子词典
2020/04/23 Python
Python深入06——python的内存管理详解
2016/12/07 Python
替换python字典中的key值方法
2018/07/06 Python
python使用循环打印所有三位数水仙花数的实例
2018/11/13 Python
Python3简单实现串口通信的方法
2019/06/12 Python
Python 中PyQt5 点击主窗口弹出另一个窗口的实现方法
2019/07/04 Python
opencv 获取rtsp流媒体视频的实现方法
2019/08/23 Python
Python zip函数打包元素实例解析
2019/12/11 Python
python opencv根据颜色进行目标检测的方法示例
2020/01/15 Python
tensorflow之自定义神经网络层实例
2020/02/07 Python
实习指导老师评语
2014/04/26 职场文书
公司承诺书范文
2014/05/19 职场文书
车辆委托书范本
2014/10/05 职场文书
pytorch实现手写数字图片识别
2021/05/20 Python