推导式:
推导式comprehensions(又称解析式),是Python的一种独有特性。推导式是可以从一个数据序列构建另一个新的数据序列(一个有规律的列表或控制一个有规律列表)的结构体。 共有三种推导:列表推导式、集合推导式、字典推导式。
[1, 2, 3] 推导式 [1, 4, 9]
白话:就是把原先分开写的,组合在一起,放一行写。省事。
字典 推导式
思考:有如下两个列表,如何快速合并为一个字典?
list1 = ['name', 'age', 'gender'] list2 = ['Tom', 20, 'male'] person = {'name':'Tom', 'age':20, 'gender':'male'}
使用字典推导式
基本语法:
① 字典推导式列表推导式思想的延续,语法差不多,只不过产生的是字典而已。
② 字典推导式格式:
变量 = {key:value for key,value in 序列}
字典推导式作用:快速合并列表为字典或提取字典中目标数据。
案例:创建一个字典:字典key是1-5数字,value是这个数字的2次方。
dict1 = {1:1, 2:4, 3:9, 4:16, 5:25}
代码:
dict1 = {i:i**2 for i in range(1,6)} print(dict1)
随机案例:把两个列表合并为一个字典
随机代码:
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))} print(person)
随机案例:提取字典中目标数据
随机代码:
counts = {'MBP': 268, 'HP': 125, 'DELL': 201, 'Lenovo': 199, 'ACER': 99} # 需求:提取上述电脑数量大于等于200的字典数据 counts = {key:value for key, value in counts.items() if value >= 200} print(counts)