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实现同时兼容老版和新版Socket协议的一个简单WebSocket服务器
Jun 04 Python
使用PDB模式调试Python程序介绍
Apr 05 Python
python通过ftplib登录到ftp服务器的方法
May 08 Python
python基本语法练习实例
Sep 19 Python
python回调函数中使用多线程的方法
Dec 25 Python
实例分析python3实现并发访问水平切分表
Sep 29 Python
Python 按字典dict的键排序,并取出相应的键值放于list中的实例
Feb 12 Python
Python3中的bytes和str类型详解
May 02 Python
如何用Python做一个微信机器人自动拉群
Jul 03 Python
python中time包实例详解
Feb 02 Python
Python代码,能玩30多款童年游戏!这些有几个是你玩过的
Apr 27 Python
Django中session进行权限管理的使用
Jul 09 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操作mysql函数详解,mysql和php交互函数
2011/05/19 PHP
php数组索引的Key加引号和不加引号的区别
2014/08/19 PHP
Zend Framework教程之Application和Bootstrap用法详解
2016/03/10 PHP
PHP实现基于栈的后缀表达式求值功能
2017/11/10 PHP
thinkPHP3.2.3实现阿里大于短信验证的方法
2018/06/06 PHP
php输出控制函数和输出函数生成静态页面
2019/06/27 PHP
关于laravel模板中生成URL的几种模式总结
2019/10/18 PHP
JAVASCRIPT车架号识别/验证函数代码 汽车车架号验证程序
2012/01/08 Javascript
jquery实现手机发送验证码的倒计时代码
2014/02/12 Javascript
JS实现密码框根据焦点的获取与失去控制文字的消失与显示效果
2015/11/26 Javascript
举例讲解如何判断JavaScript中对象的类型
2016/04/22 Javascript
jquery属性,遍历,HTML操作方法详解
2016/09/17 Javascript
详解javascript事件绑定使用方法
2016/10/20 Javascript
WEB开发之注册页面验证码倒计时代码的实现
2016/12/15 Javascript
ES6 Class中实现私有属性的一些方法总结
2019/07/08 Javascript
详解微信小程序之提高应用速度小技巧
2020/01/07 Javascript
JS禁用右键、禁用Ctrl+u、禁用Ctrl+s、禁用F12的实现代码
2020/12/01 Javascript
ES6字符串的扩展实例
2020/12/21 Javascript
在Python中操作文件之truncate()方法的使用教程
2015/05/25 Python
Python面向对象编程中关于类和方法的学习笔记
2016/06/30 Python
用tensorflow构建线性回归模型的示例代码
2018/03/05 Python
深入分析python数据挖掘 Json结构分析
2018/04/21 Python
python使用phoenixdb操作hbase的方法示例
2019/02/28 Python
pycharm 2019 最新激活方式(pycharm破解、激活)
2020/09/22 Python
Python将list元素转存为CSV文件的实现
2020/11/16 Python
利用html5的websocket实现websocket聊天室
2013/12/12 HTML / CSS
阿联酋航空假期:Emirates Holidays
2018/03/20 全球购物
澳大利亚床上用品、浴巾和家居用品购物网站:Bambury
2020/04/16 全球购物
上海天奕面试题笔试题
2015/04/19 面试题
文明美德伴我成长演讲稿
2014/05/12 职场文书
横幅标语大全
2014/06/17 职场文书
车辆委托书范本
2014/10/05 职场文书
外出学习心得体会范文
2016/01/18 职场文书
《颐和园》教学反思
2016/02/19 职场文书
html5 录制mp3音频支持采样率和比特率设置
2021/07/15 Javascript
SQL试题 使用窗口函数选出连续3天登录的用户
2022/04/24 Oracle