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 相关文章推荐
Python2.7简单连接与操作MySQL的方法
Apr 27 Python
Python两个内置函数 locals 和globals(学习笔记)
Aug 28 Python
python实现随机森林random forest的原理及方法
Dec 21 Python
Python中的引用知识点总结
May 20 Python
python求绝对值的三种方法小结
Dec 04 Python
python基于TCP实现的文件下载器功能案例
Dec 10 Python
python通过matplotlib生成复合饼图
Feb 06 Python
django admin后管定制-显示字段的实例
Mar 11 Python
如何基于python3和Vue实现AES数据加密
Mar 27 Python
django queryset相加和筛选教程
May 18 Python
基于Python采集爬取微信公众号历史数据
Nov 27 Python
python实现学生信息管理系统源码
Feb 22 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 数组动态添加实现代码(最土团购系统的价格排序)
2011/12/30 PHP
php遍历数组的方法分享
2012/03/22 PHP
部署PHP项目应该注意的几点事项分享
2013/12/20 PHP
PHP编程实现多维数组按照某个键值排序的方法小结【2种方法】
2017/04/27 PHP
Laravel5.5 数据库迁移:创建表与修改表示例
2019/10/23 PHP
ExtJS Window 最小化的一种方法
2009/11/18 Javascript
jquery 图片截取工具jquery.imagecropper.js
2010/04/09 Javascript
解析javascript系统错误:-1072896658的解决办法
2013/07/08 Javascript
基于MVC5和Bootstrap的jQuery TreeView树形控件(一)之数据支持json字符串、list集合
2016/08/11 Javascript
jQuery实现页面下拉100像素出现悬浮窗口的方法
2016/09/05 Javascript
JS刷新父窗口的几种方式小结(推荐)
2016/11/09 Javascript
jquery UI Datepicker时间控件冲突问题解决
2016/12/16 Javascript
Bootstrap 下拉多选框插件Bootstrap Multiselect
2017/01/22 Javascript
JS实现十字坐标跟随鼠标效果
2017/12/25 Javascript
AJAX在JQuery中的应用详解
2019/01/30 jQuery
Vue CLI2升级至Vue CLI3的方法步骤
2019/05/20 Javascript
react 不用插件实现数字滚动的效果示例
2020/04/14 Javascript
详解tensorflow载入数据的三种方式
2018/04/24 Python
python实现黑客字幕雨效果
2018/06/21 Python
解决Python selenium get页面很慢时的问题
2019/01/30 Python
PyQt5+python3+pycharm开发环境配置教程
2020/03/24 Python
Python基于tkinter canvas实现图片裁剪功能
2020/11/05 Python
pip 20.3 新版本发布!即将抛弃 Python 2.x(推荐)
2020/12/16 Python
瑞士领先的网上超市:LeShop.ch
2018/11/14 全球购物
美国在线面料商店:Fashion Fabrics Club
2020/01/31 全球购物
车间操作工岗位职责
2013/12/19 职场文书
建筑工程管理专业自荐信范文
2013/12/28 职场文书
毕业生自我鉴定实例
2014/01/21 职场文书
酒后驾驶检讨书
2014/01/27 职场文书
经贸韩语专业大学生职业规划
2014/02/14 职场文书
外贸员简历中的自我评价
2014/03/04 职场文书
公司活动方案范文
2014/03/06 职场文书
组织鉴定材料
2014/06/02 职场文书
2016年五一劳动节专题校园广播稿
2015/12/17 职场文书
队列队形口号
2015/12/25 职场文书
微前端qiankun改造日渐庞大的项目教程
2022/06/21 Javascript