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]

相关推荐
m0_748554813 小时前
golang如何实现用户订阅偏好管理_golang用户订阅偏好管理实现总结
jvm·数据库·python
smj2302_796826524 小时前
解决leetcode第3911题.移除子数组元素后第k小偶数
数据结构·python·算法·leetcode
阿正呀5 小时前
Redis怎样实现本地缓存的高效失效通知
jvm·数据库·python
九转成圣5 小时前
Java 性能优化实战:如何将海量扁平数据高效转化为类目字典树?
java·开发语言·json
SmartRadio5 小时前
ESP32-S3 双模式切换实现:兼顾手机_路由器连接与WiFi长距离通信
开发语言·网络·智能手机·esp32·长距离wifi
2501_901200535 小时前
mysql如何设置InnoDB引擎参数_优化innodb_buffer_pool
jvm·数据库·python
laowangpython5 小时前
Rust 入门:GitHub 热门内存安全编程语言
开发语言·其他·rust·github
我叫汪枫5 小时前
在后台管理系统中,如何递归和选择保留的思路来过滤菜单
开发语言·javascript·node.js·ecmascript
_.Switch5 小时前
东方财富股票数据JS逆向:secids字段和AES加密实战
开发语言·前端·javascript·网络·爬虫·python·ecmascript
软件技术NINI5 小时前
webkit简介及工作流程
开发语言·前端·javascript·udp·ecmascript·webkit·yarn