Python特性之推导式

文章目录

    • 推导式
      • 列表推导式
        • 数据的过滤
      • 字典推导式
      • 集合推导式

推导式

推导式其实可以理解为简易版的for循环,是Python独有的特性,它能够非常简洁的按照某种规则以一个序列推导出另一个新的序列,也可以理解为是切片的升级

列表推导式

列表的推导式非常简单

[生成表达式 for 变量 in 序列或迭代对象]

最外层的方括号表明生成结果为列表,在功能上,列表推导式相当于一个循环,只是形式更加简介

例如

list1 = [x**2 for x in range(4)]

前面我们讲过range的基本使用,这里的代码等效于下面的for循环,这里的**表示乘方

list1 = []
for x in range(4):list1.append(x**2)
数据的过滤

在列表推导式中,我们可以使用if语句筛选符合条件的元素,例如我们想提取1到10中平方数为偶数的数

list2 = [x**2 for x in range(10) if (x**2)%2 == 0]

这里只演示了一层循环,实际上也支持两层循环,但是应用场景较少并且易读性不高,这里不过多介绍了

字典推导式

字典和集合不支持切片,推导式则极大的简化了其遍历的过程

字典推导式与列表推导式十分类似,是吧列表的标志从方括号变成了花括号

例如

dict1 = {'Summer':17, 'Morty':14, 'Rick':60}
dict2 = {v:k for k ,v in dict1.items()}

这里我们使用了字典的items()方法,它会返回一个支持遍历操作的列表,列表中是一个个小元组,例如[(‘Summer’,17),(‘Morty’,14),(‘Rick’,60)]

集合推导式

集合推导式与字典推导式及其类似,操作方法类似于列表,而且自带去重效果,例如

set1 = {x**2 for x in [1,2,3,4,1,-1]}
print(set1) # 结果是 1,4,9,16

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/286559.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

vCenter HA拆分和部署

原创作者:运维工程师 谢晋 vCenter HA拆分和部署 拆分vCenter HA部署vCenter HA 拆分vCenter HA 客户vCenter HA内一台虚拟机出现故障无法连接,报错如下: 点击移除集群报错如下: 查找官方KB,按照官方KB进行移除…

Scratch:让少儿编程变得简单有趣

在21世纪这个信息化、数字化的时代,编程已经成为一种重要的技能。然而,对于许多孩子来说,编程可能是一种难以理解和掌握的技能。那么,有没有一种方法,可以让孩子们在轻松愉快的环境中学习编程呢?答案是肯定…

Addressables资源如何进行完整性校验

1)Addressables资源如何进行完整性校验 2)使用SpriteAtlas时出现冗余精灵,如何指定用哪一个图集 3)anim文件进行精度处理后某些信息丢失 这是第365篇UWA技术知识分享的推送,精选了UWA社区的热门话题,涵盖了…

Vue--第十天

终极实战----大事件项目 1.简介: 2.创建项目: 1.创建(159-163): 还是对着视频操作吧 2.路由: 3.element Plus: 导入element Plus 后不需要再导入插件配置,就连组件导入也不用 4.pinia构建用…

探讨二维半导体的概念、应用前景及其与传统半导体的差异

当探讨二维半导体时,我们置身于科技革新的前沿。这种材料以其纳米级薄度和独特电学性质区别于传统半导体,引发了科学界的广泛兴趣。本文将深入探讨二维半导体的概念、应用前景及其与传统半导体的差异。 什么是二维半导体? 二维半导体是由单…

Trouble Shooting:ORA-08104

背景:业务人员在rebuild索引期间强制中断了会话,再次rebuild报错 ORA-08104。 有其他会话在使用该索引,并未提交也会造成一样问题。 问题处理: 方法一、 用dbms_repair.online_index_clean来清除创建索引的失败的遗留 注意&…

【EI会议征稿】第三届能源动力与控制工程国际学术会议(EPECE 2024)

第三届能源动力与控制工程国际学术会议(EPECE 2024) The 3rd International Conference on Energy and Power Engineering, Control Engineering (EPECE 2024) 第三届能源动力与控制工程国际学术会议(EPECE 2024)将于2024年2月2…

redis.conf配置bind 127.0.0.1注释,允许远程访问

bind 127.0.0.1这个是绑定了我们的主机地址,意思是只允许我们主机访问redis,这句话注销掉,因为我们需要远程访问

如何解决浏览器提示“SSL协议未开启”?

SSL协议未开启是指服务器中的服务没有开启或者没有SSL模块造成的。 解决方案:打开浏览器,如图所示,找到工具→Internet选项;找到高级选项卡下面的使用 SSL 3.0 勾选之后点击保存即可。 (图片来源于网络,如涉及侵权请告…

ERP真的“烂”吗?为什么有些公司上了ERP效率反而更低?

ERP是由美国Gartner Group咨询公司首先提出的国际上最先进的企业管理模式之一,也是企业信息化集成的最佳解决方案。 ERP到底是什么? ERP的概念 先打个比方。 把ERP理解成手机。 使用通讯类APP和同事、朋友、亲人交流。 使用购物类APP购买生活工作中需…

洛谷 P8794 [蓝桥杯 2022 国 A] 环境治理

文章目录 [蓝桥杯 2022 国 A] 环境治理题目链接题目描述输入格式输出格式样例 #1样例输入 #1样例输出 #1 提示 思路解析CODE给点思考 [蓝桥杯 2022 国 A] 环境治理 题目链接 https://www.luogu.com.cn/problem/P8794 题目描述 LQ 国拥有 n n n 个城市,从 0 0 …

A01、深入了解性能优化

1、常用性能评价/测试指标 1.1、响应时间 提交请求和返回该请求的响应时间之间使用的时间,一般比较关注平均响应时间。常用操作的响应时间列表: 操作响应时间打开一个站点几秒数据库查询一条记录(有索引)十几毫秒机械磁盘一次寻…