python字典反转和其他序列元素反转是有很大差别的,因为其他序列反转都是将元素后面的放到前面去,而python字典反转而是将其键值对进行互换 。那么下面有详细python反转字典键和值的方法,感兴趣和想学习的小伙伴就一起往下看看吧 。
文章插图
一、反转字典要求
而字典反转也是有一定要求的,因为python字典对于值是没有任何限制的,但是字典键却有数据类型限制 。所以在反转字典键和值时,需要判断字典值数据类型是否为元组、字符串和数字,因为只有这三个可以信息hash处理的数据类型对象才能够作为字典键 。
二、反转字典方法
在定义好字典对象之后,根据不同的键值对数据,对字典进行反转操作使用的方法也不同 。
1.当明确知道字典值不会重复并且都是元组、字符串和数字这三种类型时,就可以调用方法map()了 。该方法可以让序列中的对象都执行一次函数并返回结果,而在这个方法之中是通过字典对象调用item()方法把键和值都取出来 。这样反转之后就是值在前而键在后,那么在外部调用dict()方法即可实现反转字典,代码如下所示:
my_dict = {"brand": "Ford","model": "Mustang","year": 1964}my_inverted_dict = dict(map(reversed, my_dict.items()))print(my_inverted_dict){'Ford': 'brand', 'Mustang': 'model', 1964: 'year'}2.另外一种情况对应的自然就是字典值存在不是唯一值了,那么就需要先生成一个空字典 。然后使用for循环迭代原来的字典取出键和值,使用append()方法向这个字典中添加键值对,不过是将原来的值作为现在字典的键 。这样就可以去重了,代码如下所示:
【Python反转字典的键和值怎么做?Python字典反转方法是什么】from collections import defaultdictmy_inverted_dict = defaultdict(list){my_inverted_dict[v].append(k) for k, v in my_dict.items()}以上就是关于“Python反转字典的键和值怎么做?Python字典反转方法是什么”的全部内容了,希望对你有所帮助 。
推荐阅读
- 如何从Python中的文本里删除符号?Python去掉文本中符号的方法
- Python中有哪些好用的框架?Python的web开发框架详解
- 没有网络如何用pip安装python插件?断网下pip安装python插件的方法
- Python字典合并去重代码怎么写?Python如何合并两个字典对象
- Python字符串生成列表怎么实现?Python如何将字符串转为列表类型
- Python字符串列表排序怎么做?Python字符串列表排序方法是什么
- Python列表合并的方法有哪些?Python怎么合并两个列表
- Python多个列表怎么合并成一个?Python合并列表怎么放在一个列表中
- Python图像碰撞检测怎么做?Python如何实现图像碰撞检测
- Python如何裁剪图片像素?Python怎么通过像素值实现图片裁剪