推导式是python中一种更为简便的coding写法,可以通过推导式实现
常用的遍历、序列数据处理等计算。往往通过一行代码就能代替一个函数
的实现过程。
语法格式
'''
字典序列表达式
{键表达式:值表达式 for 表达式 in 可迭代对象}
'''
'''创建一个字典序列'''
# 使用列表推导式创建字典
dict_1 = {i: i * 3 for i in range(5)}
# 打印字典序列
print(dict_1)
# {0: 0, 1: 3, 2: 6, 3: 9, 4: 12}
提取字典数据
'''
说明:
初始化一个字典,然后从字典中提取符合条件的字典序列。
'''
# 初始化一个序列字典
dict_2 = {'name': 'Python 集中营','age':'10','sex': '专注于Python知识探究'}
# 使用序列化提取特定条件下的数据
dict_2_data = {key:value for key,value in dict_2.items() if str(value) == 'Python 集中营'}
# 打印字典
print(dict_2_data)
# {'name': 'Python 集中营'}
提取列表数据
'''
说明:
初始化两个列表,然后从列表中提取相应数据作为键值
组装成字典的形式。
'''
# 定义编程语言名称的列表
coding_name = ['Python', 'Java', 'Scala', 'C++']
# 定义编程语言对应的分数的列表
coding_sore = ['92', '91', '83', '89']
# 使用字典序列的推导式遍历组装数据
dict_3 = {coding_name[a] : coding_sore[a] for a in range(len(coding_name))}
# 打印字典
print(dict_3)
# {'Python': '92', 'Java': '91', 'Scala': '83', 'C++': '89'}
'''
分析:
range(len(coding_name)): 长度应该以coding_name的键的长度为遍历次数
coding_name[a] : coding_sore[a],分别作为键、值
for a in range(len(coding_name)):a 则作为循环遍历中的下标的使用
'''