python的列表生成式,生成器和generator对象你了解吗


Posted in Python onMarch 16, 2022

列表生成式

可以使用列表生成式生成 列表元素。

例如:

python的列表生成式,生成器和generator对象你了解吗

列表还支持 if … else 与 for 循环组合的单行表达式进行初始化。

>>> example = [i*i if i%2 == 0 else 2*i for i in range(1,11)] # 1~10中,奇数*2,偶数平方
>>> print ([i for i in range(1,11)]) # 对照组,1~10
[1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
>>> example
[2, 4, 6, 16, 10, 36, 14, 64, 18, 100]

python的列表生成式,生成器和generator对象你了解吗

当然,if … else 本就支持单行写法。

>>> a = 100
>>> if a < 100:
...     print("lt 100")
... elif a == 100:
...     print("eq 100")
... else:
...     print("gt 100")
...
eq 100
>>>
>>> # 如果将上述if...else写为单行式
... print("lt 100") if a < 100 else print("eq 100") if a == 100 else print("gt 100")
eq 100

python的列表生成式,生成器和generator对象你了解吗

列表表达式初始化 dict 或 set

同时,我们也可以使用单行for初始化 set

python的列表生成式,生成器和generator对象你了解吗

还可以用于提取list的下标与元素,需要注意的是,如果使用  的key:value的形式,最终结果是dict。

python的列表生成式,生成器和generator对象你了解吗

generator对象

探索,是否可以类比上述,生成tuple。当我这么做的时候,结果获得一个generator类型。

python的列表生成式,生成器和generator对象你了解吗

简单来说返回的generator是一个可迭代对象,因此我们尝试使用 for 遍历它的时候,是可以遍历得到其所有数据的。

python的列表生成式,生成器和generator对象你了解吗

而这里的 可迭代对象(Iterable)主要指可以直接作用于for循环的对象(for循环本质上就是通过不断调用next()函数进行迭代)。

包括内置的(listtupledictsetstr等)和生成器(generator)。

生成generator对象

主要有两种方法:

  • 第一种使用 () 包裹列表生成式
  • 第二种,使用 yield 标记

示例:演示yield

python的列表生成式,生成器和generator对象你了解吗

这里可以通过 next() 获取内部元素

python的列表生成式,生成器和generator对象你了解吗

总结

本篇文章就到这里了,希望能够给你带来帮助,也希望您能够多多关注三水点靠木的更多内容!  

Python 相关文章推荐
python中二维阵列的变换实例
Oct 09 Python
Python基本语法经典教程
Mar 11 Python
django模型层(model)进行建表、查询与删除的基础教程
Nov 21 Python
Python实战小程序利用matplotlib模块画图代码分享
Dec 09 Python
python 实现手机自动拨打电话的方法(通话压力测试)
Aug 08 Python
Django 查询数据库并返回页面的例子
Aug 12 Python
Python可变参数会自动填充前面的默认同名参数实例
Nov 18 Python
Python sys模块常用方法解析
Feb 20 Python
详解如何在pyqt中通过OpenCV实现对窗口的透视变换
Sep 20 Python
python中random模块详解
Mar 01 Python
从Pytorch模型pth文件中读取参数成numpy矩阵的操作
Mar 04 Python
Python常遇到的错误和异常
Nov 02 Python
bat批处理之字符串操作的实现
Mar 16 #Python
一起来学习Python的元组和列表
Mar 13 #Python
python自动化测试之Selenium详解
python数字类型和占位符详情
Mar 13 #Python
Python+Selenium自动化环境搭建与操作基础详解
Python+Selenium实现读取网易邮箱验证码
Mar 13 #Python
asyncio异步编程之Task对象详解
Mar 13 #Python
You might like
适用于php-5.2 的 php.ini 中文版[金步国翻译]
2011/04/17 PHP
三个类概括PHP的五种设计模式
2012/09/05 PHP
关于扩展 Laravel 默认 Session 中间件导致的 Session 写入失效问题分析
2016/01/08 PHP
CodeIgniter分页类pagination使用方法示例
2016/03/28 PHP
CSS中一些@规则的用法小结
2021/03/09 HTML / CSS
为jQuery.Treeview添加右键菜单的实现代码
2010/10/22 Javascript
ASP.NET jQuery 实例4(复制TextBox的文本到本地剪贴板上)
2012/01/13 Javascript
{}与function(){}选用空对象{}来存放keyValue
2012/05/23 Javascript
JS脚本defer的作用示例介绍
2014/01/02 Javascript
关闭ie窗口清除Session的解决方法
2014/01/10 Javascript
jQuery对html元素的取值与赋值实例详解
2015/12/18 Javascript
jQuery Mobile操作HTML5的常用函数总结
2016/05/17 Javascript
jquery easyui DataGrid简单示例
2017/01/23 Javascript
ThinkPHP+jquery实现“加载更多”功能代码
2017/03/11 Javascript
nodejs处理图片的中间件node-images详解
2017/05/08 NodeJs
jQuery制作input提示内容(兼容IE8以上)
2017/07/05 jQuery
JavaScript实现的3D旋转魔方动画效果实例代码
2019/07/31 Javascript
ES6 class类链式继承,实例化及react super(props)原理详解
2020/02/15 Javascript
jQuery实现的解析本地 XML 文档操作示例
2020/04/30 jQuery
python自动化测试实例解析
2014/09/28 Python
Python合并字符串的3种方法
2015/05/21 Python
python编写简单爬虫资料汇总
2016/03/22 Python
python利用正则表达式排除集合中字符的功能示例
2017/10/10 Python
解决Python2.7中IDLE启动没有反应的问题
2018/11/30 Python
python使用Plotly绘图工具绘制柱状图
2019/04/01 Python
python使用socket 先读取长度,在读取报文内容示例
2019/09/26 Python
Python绘制热力图示例
2019/09/27 Python
利用python中集合的唯一性实现去重
2020/02/11 Python
CSS3 函数技巧 用css 实现js实现的事情(clac Counters Tooltip)
2017/08/15 HTML / CSS
什么是GWT的Module
2013/01/20 面试题
Java语言程序设计测试题改错题部分
2014/07/22 面试题
俄罗斯商务邀请函
2014/01/26 职场文书
《学棋》教后反思
2014/04/14 职场文书
五月的鲜花活动方案
2014/08/21 职场文书
2015年秋学期师德师风建设工作总结
2015/10/23 职场文书
python playwright 自动等待和断言详解
2021/11/27 Python