推导式:
推导式comprehensions(又称解析式),是Python的一种独有特性。推导式是可以从一个数据序列构建另一个新的数据序列(一个有规律的列表或控制一个有规律列表)的结构体。 共有三种推导:列表推导式、集合推导式、字典推导式。
[1, 2, 3] 推导式 [1, 4, 9]
白话:就是把原先分开写的,组合在一起,放一行写。省事。
字典 推导式
思考:有如下两个列表,如何快速合并为一个字典?
list1 = ['name', 'age', 'gender'] list2 = ['Tom', 20, 'male'] person = {'name':'Tom', 'age':20, 'gender':'male'}
使用字典推导式
基本语法:
① 字典推导式 是 列表推导式思想的延续,语法差不多,只不过产生的是字典而已。
相关链接Python---列表 集合 字典 推导式(本文以 列表 为主)-CSDN博客
② 字典推导式格式:
变量 = {key:value for key,value in 序列}
字典推导式作用:快速 合并 列表 为字典或 提取字典中目标数据。
案例:创建一个字典:字典key是1-5数字,value是这个数字的2次方。
思考:
key 1--5有范围,用range. 2次方,用 算术运算符 ** 2
得出的结果样式:dict1 = {1:1, 2:4, 3:9, 4:16, 5:25}
相关链接:Python算术运算符:加减乘除 整除// 取余(取模)% 幂指数** 小括号-CSDN博客
代码:
dict1 = {i:i**2 for i in range(1,6)} print(dict1)
随机案例:把两个列表合并为一个字典
思考:就是一个对一个,name:Tom age:20
变量 = {key:value for key,value in 序列}
相关链接:Python---数据序列中的公共方法-CSDN博客
随机代码:
list1 = ['name', 'age', 'gender'] list2 = ['Tom', 20, 'male'] # 结果:person = {'name':'Tom', 'age':20, 'gender':'male'} person = {list1[i]:list2[i] for i in range(len(list1))} # len() 计算容器中元素个数 print(person)
随机案例:提取字典中目标数据
相关链接:Python---字典的增、删、改、查操作-CSDN博客
随机代码:
counts = {'MBP': 268, 'HP': 125, 'DELL': 201, 'Lenovo': 199, 'ACER': 99} # 需求:提取上述电脑数量大于等于200的字典数据---items() 以列表返回可遍历的(键, 值) 元组数组 counts = {key:value for key, value in counts.items() if value >= 200} print(counts)