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 17 Python
让python在hadoop上跑起来
Jan 27 Python
Python使用pickle模块存储数据报错解决示例代码
Jan 26 Python
Python下载网络小说实例代码
Feb 03 Python
详解django三种文件下载方式
Apr 06 Python
python 查找文件名包含指定字符串的方法
Jun 05 Python
对python中的os.getpid()和os.fork()函数详解
Aug 08 Python
对Python中一维向量和一维向量转置相乘的方法详解
Aug 26 Python
Python类中方法getitem和getattr详解
Aug 30 Python
python处理excel绘制雷达图
Oct 18 Python
Python包,__init__.py功能与用法分析
Jan 07 Python
Python matplotlib模块及柱状图用法解析
Aug 10 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教程之魔术方法的使用示例(php魔术函数)
2014/02/12 PHP
IIS6.0 开启Gzip方法及PHP Gzip函数分享
2014/06/08 PHP
PHP Imagick完美实现图片裁切、生成缩略图、添加水印
2016/02/22 PHP
php单元测试phpunit入门实例教程
2017/11/17 PHP
解决windows上php xdebug 无法调试的问题
2020/02/19 PHP
JavaScript 监听textarea中按键事件
2009/10/08 Javascript
详解JavaScript语法对{}处理的坑爹之处
2014/06/05 Javascript
javascript模拟map输出与去除重复项的方法
2015/02/09 Javascript
基于javascript实现全国省市二级联动下拉选择菜单
2016/01/28 Javascript
BootStrap实用代码片段之一
2016/03/22 Javascript
纯js实现手风琴效果代码
2020/04/17 Javascript
浅谈jQuery this和$(this)的区别及获取$(this)子元素对象的方法
2016/11/29 Javascript
Bootstrap 模态框实例插件案例分析
2016/12/28 Javascript
js通过指定下标或指定元素进行删除数组的实例
2017/01/12 Javascript
微信小程序手势操作之单触摸点与多触摸点
2017/03/10 Javascript
基于JavaScript实现类名的添加与移除
2017/04/23 Javascript
基于Koa(nodejs框架)对json文件进行增删改查的示例代码
2019/02/02 NodeJs
jQuery中使用validate插件校验表单功能
2019/05/24 jQuery
vue源码nextTick使用及原理解析
2019/08/13 Javascript
js对象数组和对象的使用实例详解
2019/08/27 Javascript
微信小程序自定义组件components(代码详解)
2019/10/21 Javascript
vue 解决data中定义图片相对路径页面不显示的问题
2020/08/13 Javascript
在Python中处理字符串之isdecimal()方法的使用
2015/05/20 Python
python实现将html表格转换成CSV文件的方法
2015/06/28 Python
深入解读Python解析XML的几种方式
2016/02/16 Python
运用TensorFlow进行简单实现线性回归、梯度下降示例
2018/03/05 Python
django输出html内容的实例
2018/05/27 Python
Python configparser模块配置文件过程解析
2020/03/03 Python
Python数据库封装实现代码示例解析
2020/09/05 Python
Css3新特性应用之视觉效果实例
2016/12/12 HTML / CSS
护理毕业生自荐信范文
2013/12/22 职场文书
《雷雨》教学反思
2014/02/20 职场文书
入职担保书怎么写
2014/05/12 职场文书
党的群众路线教育实践活动个人自我剖析材料
2014/10/07 职场文书
2014幼儿教师个人工作总结
2014/12/03 职场文书
搞笑的婚礼主持词
2015/06/29 职场文书