在Python中實(shí)現(xiàn)字典反轉(zhuǎn)案例
有時(shí)候會(huì)碰到需求,將字典來(lái)反轉(zhuǎn),即:字典中的鍵作為值,而字典中的值作為鍵。對(duì)于字典比較小,可以使用普通方法
方法一:
使用普通方法轉(zhuǎn)換
>>> d = {'a': 1, 'b': 2, 'c': 3} >>> def invert_dict(d): ... return dict([(v,k) for (k,v) in d.iteritems()]) ... >>> invert_dict(d) {1: 'a', 2: 'b', 3: 'c'}
方法二:
使用itertools模塊中的izip方法來(lái)轉(zhuǎn)換
>>> d = {'a': 1, 'b': 2, 'c': 3, 'd': 4} >>> from itertools import izip >>> def invert_dict(d): ... return dict(izip(d.itervalues(), d.iterkeys())) ... >>> invert_dict(d) {1: 'a', 2: 'b', 3: 'c', 4: 'd'} >>>
備注:
1. 字典比較大時(shí),使用itertools模塊中的izip方法來(lái)轉(zhuǎn)換要高效的多.
2. 反轉(zhuǎn)之前值應(yīng)該要確保不是列表這樣不可hash的值,否則不能反轉(zhuǎn).
補(bǔ)充知識(shí):python 字典鍵和值翻轉(zhuǎn)輸出代碼
我就廢話(huà)不多說(shuō)了,大家還是直接看代碼吧~
dict=eval(input()) #輸入格式:dict = {"a":1,"b":2} dict_new={} try: for k,v in dict.items(): dict_new[v]=k print(dict_new) except: print("輸入錯(cuò)誤")
以上這篇在Python中實(shí)現(xiàn)字典反轉(zhuǎn)案例就是小編分享給大家的全部?jī)?nèi)容了,希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
- python反轉(zhuǎn)(逆序)字符串的6種方法詳細(xì)
- python3整數(shù)反轉(zhuǎn)的實(shí)現(xiàn)方法
- python如何實(shí)現(xiàn)單向鏈表及單向鏈表的反轉(zhuǎn)
- Python 反轉(zhuǎn)輸出正整數(shù)的操作
- python反轉(zhuǎn)一個(gè)三位整數(shù)的多種實(shí)現(xiàn)方案
- Python 實(shí)現(xiàn)反轉(zhuǎn)整數(shù)的案例(很容易懂的那種)
- Python 列表反轉(zhuǎn)顯示的四種方法
- Python reversed反轉(zhuǎn)序列并生成可迭代對(duì)象
- Python實(shí)現(xiàn)鏈表反轉(zhuǎn)的方法分析【迭代法與遞歸法】
- 如何用python反轉(zhuǎn)圖片,視頻
相關(guān)文章
pycharm 使用心得(六)進(jìn)行簡(jiǎn)單的數(shù)據(jù)庫(kù)管理
功能簡(jiǎn)介:pycharm自帶了一個(gè)簡(jiǎn)單的數(shù)據(jù)庫(kù)插件,可以比較方便的進(jìn)行簡(jiǎn)單的數(shù)據(jù)庫(kù)操作。2014-06-06詳解Python logging調(diào)用Logger.info方法的處理過(guò)程
這篇文章主要介紹了詳解Python logging調(diào)用Logger.info方法的處理過(guò)程,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2019-02-02用Python實(shí)現(xiàn)讀寫(xiě)鎖的示例代碼
這篇文章主要介紹了用Python實(shí)現(xiàn)讀寫(xiě)鎖的示例代碼,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2018-11-11Python從List中刪除重復(fù)項(xiàng)的六種方法
Python從列表中刪除重復(fù)項(xiàng)的方法,在本文中列出了6種方法,這些方法在許多應(yīng)用程序中都會(huì)遇到,作為程序員,我們最好了解它們,以便在需要時(shí)編寫(xiě)有效的程序,感興趣的小伙伴跟著小編一起來(lái)看看吧2024-10-10詳解Python之?dāng)?shù)據(jù)序列化(json、pickle、shelve)
本篇文章主要介紹了Python之?dāng)?shù)據(jù)序列化,本節(jié)要介紹的就是Python內(nèi)置的幾個(gè)用于進(jìn)行數(shù)據(jù)序列化的模塊,有興趣的可以了解一下。2017-03-03如何處理json中不帶雙引號(hào)的key的問(wèn)題
這篇文章主要介紹了如何處理json中不帶雙引號(hào)的key的問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2022-09-09解決Python?出現(xiàn)File?“<stdin>“,?line?1非語(yǔ)法錯(cuò)誤的問(wèn)題
這篇文章主要介紹了Python?出現(xiàn)File?“<stdin>“,?line?1非語(yǔ)法錯(cuò)誤的解決辦法,本文給大家講解的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2023-03-03pytorch中的自定義反向傳播,求導(dǎo)實(shí)例
今天小編就為大家分享一篇pytorch中的自定義反向傳播,求導(dǎo)實(shí)例,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2020-01-01