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怎么通過像素值實現圖片裁剪
