字典推导式如何使用?

字典推导式是在一行代码对字典进行遍历,并判断条件,筛选出适合的值。例如,我们筛选出 人口在2400万以下的省份。:

>>>d1 = {"tianjin":1562, "shanxi":3681, "beijing":2173}
>>>d2 = {key: value for key,value in d1.items() if value <= 2400}
>>>print(d2)
{'tianjin': 1562, 'beijing': 2173}

主要是使用大括号来计算表达式的值,并且在for语句之前使用有两个值,用冒号隔开。 是key:value的形式。其他的和列表推导式完全相同。

其实字典推导式可以用列表推导式来构造。:

>>> dict([(i, chr(65+i)) for i in range(4)])

语义等价于:

>>> {i : chr(65+i) for i in range(4)}

在pep-0274中有详细的介绍