Python常用数据结构-字典——字典推导式
字典推导式
例子1:
例子2:给定一个字典对象{'a': 1, 'b': 2, 'c': 3},找出其中所有大于 1 的键值对,同时 value 值进行平方运算。
字典推导式:可以从任何以键值对作为元素的可迭代对象中构建出字典。
字典推导式,也是创建字典的一种途径。他的语法结构:
用大括号包围,第一部分为所需要提取和赋值的键值对,再就是循环语句,再就是逻辑分支语句(没有可不写)
例子1:
dc = {k:v for k,v in [("name","Harry Potter"), ("age",18)]} # k从("name","Harry Potter")取值,v从 ("age",18)取值。最后把他们通过冒号相连。
print(dc,type(dc))
返回
例子2:给定一个字典对象{'a': 1, 'b': 2, 'c': 3},找出其中所有大于 1 的键值对,同时 value 值进行平方运算。
# # 未使用字典推导式的写法
dc = {'a': 1, 'b': 2, 'c': 3}
d_old = dict()
for k, v in dc.items():
if v > 1:
d_old[k] = v ** 2
print(d_old)
# 使用字典推导式
d_new = {k : v ** 2 for k,v in dc.items() if v > 1 }
print(d_new)
返回
实例:键值对反转
"""
给定一个字典对象,请使用字典推导式,将它的key和value分别进行交换。也就是key变成值,值变成key。
输入: {'a': 1, 'b': 2, 'c': 3}
输出: {1: 'a', 2: 'b', 3: 'c'}
"""
dc = {'a': 1, 'b': 2, 'c': 3}
t1 = {v: k for k, v in dc.items()}
print(dc)
print(t1)
返回