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中的pprint折腾记
Jan 21 Python
Python创建xml文件示例
Mar 22 Python
python读取二进制mnist实例详解
May 31 Python
django 创建过滤器的实例详解
Aug 14 Python
Python抓取聚划算商品分析页面获取商品信息并以XML格式保存到本地
Feb 23 Python
django+xadmin+djcelery实现后台管理定时任务
Aug 14 Python
pygame游戏之旅 载入小车图片、更新窗口
Nov 20 Python
python opencv将图片转为灰度图的方法示例
Jul 31 Python
python 3.74 运行import numpy as np 报错lib\site-packages\numpy\__init__.py
Oct 06 Python
一文了解python 3 字符串格式化 F-string 用法
Mar 04 Python
django xadmin action兼容自定义model权限教程
Mar 30 Python
Python3使用 GitLab API 进行批量合并分支
Oct 15 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
ajax 缓存 问题 requestheader
2010/08/01 Javascript
关于js new Date() 出现NaN 的分析
2012/10/23 Javascript
基于jquery的9行js轻松实现tab控件示例
2013/10/12 Javascript
省市区三级联动下拉框菜单javascript版
2015/08/11 Javascript
JS JSOP跨域请求实例详解
2016/07/04 Javascript
JavaScript解析任意形式的json树型结构展示
2017/07/23 Javascript
angular指令笔记ng-options的使用方法
2017/09/18 Javascript
详解如何使用babel进行es6文件的编译
2018/05/29 Javascript
vue动态改变背景图片demo分享
2018/09/13 Javascript
基于vue和react的spa进行按需加载的实现方法
2018/09/29 Javascript
深入理解JavaScript的值传递和引用传递
2018/10/24 Javascript
React 组件渲染和更新的实现代码示例
2019/02/21 Javascript
node中实现删除目录的几种方法
2019/06/24 Javascript
npm qs模块使用详解
2020/02/07 Javascript
extjs图形绘制之饼图实现方法分析
2020/03/06 Javascript
[04:50]2019DOTA2高校联赛秋季赛四强集锦
2019/12/27 DOTA
[01:46]2020完美世界全国高校联赛秋季赛报名开启
2020/10/15 DOTA
python 字典(dict)遍历的四种方法性能测试报告
2014/06/25 Python
python基础while循环及if判断的实例讲解
2017/08/25 Python
python实现画圆功能
2018/01/25 Python
使用pandas批量处理矢量化字符串的实例讲解
2018/07/10 Python
彻彻底底地理解Python中的编码问题
2018/10/15 Python
Python Selenium 之关闭窗口close与quit的方法
2019/02/13 Python
Django项目中添加ldap登陆认证功能的实现
2019/04/04 Python
python 利用zmail库发送邮件
2020/09/11 Python
html5贪吃蛇游戏使用63行代码完美实现
2013/06/25 HTML / CSS
预订从美国飞往印度的机票:MyTicketsToIndia
2017/05/19 全球购物
英国标志性生活方式品牌:Skinnydip London
2019/12/15 全球购物
资料员岗位职责
2013/11/17 职场文书
自荐书范文范例
2014/02/13 职场文书
公司委托书格式
2014/08/01 职场文书
2015年个人现实表现材料
2014/12/10 职场文书
敬业奉献模范事迹材料
2014/12/24 职场文书
七一表彰大会简报
2015/07/20 职场文书
PySwarms(Python粒子群优化工具包)的使用:GlobalBestPSO例子解析
2021/04/05 Python
Python使用socket去实现TCP客户端和TCP服务端
2022/04/12 Python