Python组合数据类型----5.6字典(5.6.5)

22 阅读2分钟

5.6.5 字典推导式

使用字典推导式是一种快速构建字典的方法,它可以根据一定的规则从一个可迭代对象中创建字典。字典推导式与列表推导式的格式类似,区别在于字典推导式使用大括号包裹,且大括号内部的表达式需要包含键和值两个部分,其语法格式如下:

{键的表达式:值的表达式 for 临时变量 in 目标对象}

上述语法格式中总共包含两个部分,分别是键值对表达式和 for 语句,其中键值对表达式用于生成字典的键值对,键的表达式和值的表达式既可以是任何有效的包含运算符的表达式,也可以是变量或者常量;for 语句用于遍历目标对象中的元素,并将元素赋给临时变量。注意,临时变量的个数和目标对象的结构是匹配的,比如目标对象为字典时,由于字典里面的元素是一个键值对,它包括键和值两个部分,所以可以使用两个临时变量分别存储键和值。

当程序执行字典推导式时,首先会创建一个空字典,然后执行 for 语句遍历目标对象的元素,在每次循环中将遍历到的元素赋给临时变量,接着根据给定的表达式计算或处理键和值,将新的键值对添加到字典中,最后返回生成的新字典。

利用字典推导式可快速交换字典中的键和值,示例代码如下:

old_dict = {'name': '小明', 'age':23, 'height':185}
new_dict = {value:key for key, value in old_dict.items()}
print(new_dict)

运行代码,结果如下所示:

{' 小明 ': 'name', 23: 'age', 185: 'height'}