Python基础(十五):推导式的讲解
2023-06-13 09:16:11 时间
推导式的讲解
一、列表推导式
作用:用⼀个表达式创建⼀个有规律的列表或控制⼀个有规律列表。
列表推导式⼜叫列表⽣成式。
1、快速体验
需求:创建⼀个0-10的列表。
- while循环实现
# 1. 准备⼀个空列表
list1 = []
# 2. 书写循环,依次追加数字到空列表list1中
i = 0
while i < 10:
list1.append(i)
i += 1
print(list1)
- for循环实现
list1 = []
for i in range(10):
list1.append(i)
print(list1)
- 列表推导式实现
list1 = [i for i in range(10)]
print(list1)
2、带if的列表推导式
需求:创建0-10的偶数列表
- 方法一:range()步长实现
list1 = [i for i in range(0, 10, 2)]
print(list1)
- 方法二:if实现
list1 = [i for i in range(10) if i % 2 == 0]
print(list1)
3、多个for循环实现列表推导式
需求:创建列表如下:
[(1, 0), (1, 1), (1, 2), (2, 0), (2, 1), (2, 2)]
- 代码如下:
list1 = [(i, j) for i in range(1, 3) for j in range(3)]
print(list1)
二、字典推导式
思考:如果有如下两个列表:
list1 = ['name', 'age', 'gender']
list2 = ['Tom', 20, 'man']
如何快速合并为⼀个字典?
答:字典推导式
字典推导式作用:快速合并列表为字典或提取字典中目标数据。
1、快速体验
1.1、创建⼀个字典:字典key是1-5数字,value是这个数字的2次方。
dict1 = {i: i**2 for i in range(1, 5)}
print(dict1) # {1: 1, 2: 4, 3: 9, 4: 16}
1.2、 将两个列表合并为⼀个字典
list1 = ['name', 'age', 'gender']
list2 = ['Tom', 20, 'man']
dict1 = {list1[i]: list2[i] for i in range(len(list1))}
print(dict1)
1.3、提取字典中目标数据
counts = {'MBP': 268, 'HP': 125, 'DELL': 201, 'Lenovo': 199, 'acer': 99}
# 需求:提取上述电脑数量⼤于等于200的字典数据
count1 = {key: value for key, value in counts.items() if value >= 200}
print(count1) # {'MBP': 268, 'DELL': 201}
三、集合推导式
需求:创建⼀个集合,数据为下方列表的2次方。
list1 = [1, 1, 2]
代码如下:
list1 = [1, 1, 2]
set1 = {i ** 2 for i in list1}
print(set1) # {1, 4}
注意:集合有数据去重功能。
四、总结
- 推导式的作用:简化代码
- 推导式写法
# 列表推导式
[xx for xx in range()]
# 字典推导式
{xx1: xx2 for ... in ...}
# 集合推导式
{xx for xx in ...}
相关文章
- Python基础16-正则和子进程模块
- Python面试基础知识_python自学需要哪些基础知识
- python中矩阵的转置怎么写_Python 矩阵转置的几种方法小结
- 21天Python进阶学习挑战赛打卡------第2天(基础内容)
- python大数据分析实例-用Python整合的大数据分析实例
- python中替换字符串中字符_Python replace()函数:替换字符串中的某个字符「建议收藏」
- 〖Python零基础入门篇④〗- Pycharm插件安装与常用的插件
- Python 3.x | 史上最详解的 导入(import)「建议收藏」
- python基础系列教程——Python的安装与测试:python解释器、PyDev编辑器、pycharm编译器
- 安装python的文字识别库easyocr出现的问题及解决办法
- Python基础学习之pip包管理器介绍与实践
- python部分基础
- Python(转义字符、格式化输出、变量命名规则)
- python type error是什么意思_Python 报错 TypeError:’DoesNotExist’对象不可调用
- python编程从入门到实践 学习笔记
- Python基础(十一):元组的详细讲解
- 热加载技术:修改Python代码并实时查看结果 ⛵
- Python-3.12 性能分析特性
- Python 进阶指南(编程轻松进阶):八、常见的 Python 陷阱
- Python基础语法-基本数据类型-字典的常用操作
- Python基础语法-函数-递归函数计算斐波那契数列
- Mongodb基本操作与Python连接mongodb并进行基础操作的方法
- python全栈开发-Day8 函数基础详解编程语言
- Python学习:10.Python装饰器讲解(一)详解编程语言
- python基础7之python3的内置函数详解编程语言
- Linux查看Python版本的有效方法(linux查看python版本)
- Python如何连接PostgreSQL数据库?(python连接postgresql)
- Python与Neo4j的完美结合——数据处理得心应手!(pythonneo4j)
- Python如何使用MySQL构建立连接(python怎么连接mysql)
- Python与MySQL实现数据分析的完美组合(mysql中python)
- 一篇不错的Python入门教程
- python操作日期和时间的方法
- Python文件读写操作实例详解
- 零基础写python爬虫之urllib2中的两个重要概念:Openers和Handlers
- Python程序员开发中常犯的10个错误