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]

相关推荐
kk哥889911 分钟前
inout参数传递机制的底层原理是什么?
java·开发语言
listhi5201 小时前
基于改进SET的时频分析MATLAB实现
开发语言·算法·matlab
计算机毕设小月哥1 小时前
【Hadoop+Spark+python毕设】中风患者数据可视化分析系统、计算机毕业设计、包括数据爬取、Spark、数据分析、数据可视化、Hadoop
后端·python·mysql
Keep_Trying_Go1 小时前
基于Zero-Shot的目标计数算法详解(Open-world Text-specified Object Counting)
人工智能·pytorch·python·算法·多模态·目标统计
友友马2 小时前
『QT』事件处理机制详解 (一)
开发语言·qt
计算机毕设匠心工作室2 小时前
【python大数据毕设实战】强迫症特征与影响因素数据分析系统、Hadoop、计算机毕业设计、包括数据爬取、数据分析、数据可视化、机器学习、实战教学
后端·python·mysql
孤独斗士2 小时前
maven的pom文件总结
java·开发语言
confiself2 小时前
通义灵码分析ms-swift框架中CHORD算法实现
开发语言·算法·swift
1024小神2 小时前
在 Swift 中,self. 的使用遵循明确的规则
开发语言·ios·swift