Python---列表 集合 字典 推导式(本文以 列表 为主)

推导式:

推导式comprehensions(又称解析式),是Python的一种独有特性。推导式是可以从一个数据序列构建另一个新的数据序列(一个有规律的列表或控制一个有规律列表)的结构体。 共有三种推导:列表推导式、集合推导式、字典推导式。

1, 2, 3\] 推导式 \[1, 4, 9

白话:就是把原先分开写的,组合在一起,放一行写。省事。

使用推导式原因:

案例:创建一个0-9的列表

while循环:


复制代码
# 初始化计数器
i = 0
list1 = []
# 编写循环条件
while i <= 9:
    list1.append(i)
   # 更新计数器
    i += 1
print(list1)

for循环:


复制代码
list1 = []
# 编写for循环
for i in range(0, 10):
    list1.append(i)
print(list1)

思考:我们能不能把以上代码简化为一行代码搞定这个程序呢?

-------------------使用 推导式

列表 推导式

基本语法:


变量名 = 表达式 for 变量 in 列表 for 变量 in 列表

变量名 = 表达式 for 变量 in 列表 if 条件


案例:定义0-9之间的列表


复制代码
list1 = []
for i in range(10):
    list1.append(i)
print(list1)

列表推导式


复制代码
list1 = [i for i in range(10)]
print(list1)

执行原理:i for i in range(10)


复制代码
列表推导式先运行表达式右边的内容:

当第一次遍历时:i = 0,其得到变量i的结果后,会放入最左侧的变量i中,这个时候列表中就是[0]
当第二次遍历时:i = 1,其得到变量i的结果后,会追加最左侧的变量i中,这个时候列表中就是[0, 1]
...
当最后一次遍历时:i = 9,其得到变量i的结果后,会追加最左侧的变量i中,这个时候列表中就是[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]

相关推荐
吾与谁归in1 分钟前
C#脚本工具,支持智能提示自动补全(WPF + Roslyn + AvalonEdit)
开发语言·c#·wpf
超级架构师3 分钟前
让 Fortran 模型自己调用 Agent:原生 Fortran 2008 实现深度剖析
人工智能·python·架构·机器人·开源·fortran
小蒜学长7 分钟前
基于Django+Vue喵汪联盟宠物领养系统的设计与实现(代码+数据库+LW)
后端·python·django·宠物领养系统·流程规范化
昂好的day12 分钟前
WPF 从零入门(上):WPF 是什么、XAML 语法、布局与样式全解
开发语言·c#·wpf
飞浪纪元[FWC–FE]15 分钟前
Qt 构建排错实录:从 MSB 1009 到生成器选型
开发语言·数据库·qt
fly-iot16 分钟前
【FDE知识库】(1):AI 编程时代开发语言选型分析,云使用go,企业用java,算法python,底层c
开发语言·人工智能·golang
云边有个稻草人17 分钟前
Prometheus Pushgateway教程:离线任务指标上报、Shell与Python示例、远程访问
开发语言·python·prometheus
暴走约伯19 分钟前
【VFX工具链源码拆解 01】总体架构:大型项目特效流程的程序化落地
开发语言·经验分享·3d·unity·架构·游戏引擎
fanruitian31 分钟前
pycharm 使用anaconda
ide·python·pycharm
Dwzun33 分钟前
基于SpringBoot3+Vue3的油莎豆种植管理系统
java·前端·vue.js·spring boot·后端·python·计算机网络