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]

相关推荐
じ☆ve 清风°1 小时前
JavaScript 原型与原型链:深入理解 __proto__ 和 prototype 的由来与关系
开发语言·javascript·原型模式
程序员的世界你不懂5 小时前
Appium+python自动化(八)- 认识Appium- 下章
python·appium·自动化
_r0bin_5 小时前
前端面试准备-7
开发语言·前端·javascript·fetch·跨域·class
zhang98800005 小时前
JavaScript 核心原理深度解析-不停留于表面的VUE等的使用!
开发语言·javascript·vue.js
恸流失5 小时前
DJango项目
后端·python·django
Julyyyyyyyyyyy6 小时前
【软件测试】web自动化:Pycharm+Selenium+Firefox(一)
python·selenium·pycharm·自动化
Fanxt_Ja7 小时前
【JVM】三色标记法原理
java·开发语言·jvm·算法
蓝婷儿7 小时前
6个月Python学习计划 Day 15 - 函数式编程、高阶函数、生成器/迭代器
开发语言·python·学习
love530love7 小时前
【笔记】在 MSYS2(MINGW64)中正确安装 Rust
运维·开发语言·人工智能·windows·笔记·python·rust
水银嘻嘻8 小时前
05 APP 自动化- Appium 单点触控& 多点触控
python·appium·自动化