翻转列表是一种常见的操作,很少要求你翻转字典,但实际工作中,这种情况并不是不存在,原字典内容是
dic = {
'python': 90,
'java': 99,
'php': 95
}
翻转以后的字典内容是
dic = {
90: 'python',
99: 'java',
95: 'php'
}
这里,我们只考虑value没有重复值且可hash的情况,接下来,我将尝试使用使用3种方法实现这个操作
inverted_dict = {}
for key, value in dic.items():
inverted_dict[value] = key
print(inverted_dict)
这是最容易想到的一种方案,代码实现起来最普通
# 使用字典推导式
inverted_dict = {value: key for key, value in dic.items()}
print(inverted_dict)
使用字典推导式,让代码变得更加简单了
inverted_dict = dict(map(reversed, dic.items()))
print(inverted_dict)
方法3同样只需要一行代码就可以完成翻转,但理解起来相比于推导式稍有难度,reversed函数负责将key-value对翻转,map函数负责处理所有的key-value对,dict负责将map的结果转成字典
QQ交流群: 211426309