当前位置: 首页 > news >正文

Python知识点9---推导式

提前说一点:如果你是专注于Python开发,那么本系列知识点只是带你入个门再详细的开发点就要去看其他资料了,而如果你和作者一样只是操作其他技术的Python API那就足够了。

Python提供的推导式,只对列表、字典、集合三种数据类型生效,其他的类型没有推导式一说,且推导式的目的其实是简化代码,所以它无法完成逆天的操作

第一种:列表推导式

它的作用是用一个表达式去创建或者控制一个有规律的列表,注意有规律的

目标:创建一个元素为0-10的列表a = [ i+1 for i in range(10)]
print(a)
结果:[1, 2, 3, 4, 5, 6, 7, 8, 9, 10]

列表推导式其实说的就是一个简化的for循环而已,而且列表推导式可以加 if 条件判断

a = [ i for i in range(10) if i % 2 == 0]
print(a)
结果:[0, 2, 4, 6, 8]

同时它可以多个for一起写

a = [ i+j for i in range(10) for j in range(3)]
print(a)
结果:[0, 1, 2, 1, 2, 3, 2, 3, 4, 3, 4, 5, 4, 5, 6, 5, 6, 7, 6, 7, 8, 7, 8, 9, 8, 9, 10, 9, 10, 11]

列表推导式,就只有上面这三种模式,太复杂的大家还是直接写 for 循环吧

第二种:字典推导式

字典推导式的作用是合并列表为字典或者提取字典中的数据

目标:创建一个key是0-5,value是key的平方的字典a = { i : i**2 for i in range(5) }
print(a)
结果:{0: 0, 1: 1, 2: 4, 3: 9, 4: 16}

同样合并列表,我们可以这样写

a = ["name"]
b = ["Tom"]
c = { a[i] : b[i] for i in range(len(a))}
print(c)
结果:{'name': 'Tom'}

第三种:集合推导式

a = { i for i in range(5)}
print(a)
结果:set([0, 1, 2, 3, 4])

有了上面两,我相信大家都已经知道推导式是干什么的了,它其实复杂操作也做不了,但是它可以帮你完成一些如创建、遍历、修改等有规律的便捷操作

http://www.lryc.cn/news/360959.html

相关文章:

  • 用C++做一个跑酷游戏
  • 基于字典树可视化 COCA20000 词汇
  • TypeScript 中的命名空间
  • [C++] 小游戏 斗破苍穹 2.2.1至2.11.5全部版本(上) zty出品
  • 单元测试的心法分享
  • 【python】多线程(3)queue队列之不同延时时长的参数调用问题
  • Java开发常见基础问题
  • 大数据组件doc
  • Docker Hub 国内镜像源配置
  • 持续总结中!2024年面试必问 20 道 Kafka面试题(一)
  • Linux共享内存创建和删除
  • 微信小程序如何自定义tabbar
  • 【并发程序设计】15.信号灯(信号量)
  • 【操作与配置】VS2017与MFC环境配置
  • 遥感影像信息提取
  • LRU算法
  • JVM运行时数据区 - 程序计数器
  • 1.JAVA小项目(零钱通)
  • Redis这一篇就够了
  • Java web应用性能分析之【jvisualvm远程连接云服务器】
  • springboot发送短信验证码,结合redis 实现限制,验证码有效期2分钟,有效期内禁止再次发送,一天内发送超3次限制
  • 【Python】使用 Pandas 统计每行数据中的空值
  • 1pannel部署onenav导航容器编排模板
  • linux--实时性优化
  • React-基础样式控制
  • 制作ChatPDF之前端Vue搭建(二)
  • 汽车IVI中控开发入门及进阶(二十一):DAB和FM 收音机
  • 智能sql LLM
  • 大聪明教你学Java | 深入浅出聊 Stream.parallel()
  • 图解大模型分布式并行各种通信原语