在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)輸出代碼
我就廢話不多說(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è)參考,也希望大家多多支持好吧啦網(wǎng)。
相關(guān)文章:
1. jsp實(shí)現(xiàn)局部刷新頁(yè)面、異步加載頁(yè)面的方法2. Jsp中request的3個(gè)基礎(chǔ)實(shí)踐3. SSM框架整合JSP中集成easyui前端ui項(xiàng)目開發(fā)示例詳解4. 詳解Java JDK動(dòng)態(tài)代理5. php解決注冊(cè)并發(fā)問(wèn)題并提高QPS6. 基于Spring AOP proxyTargetClass的行為表現(xiàn)總結(jié)7. 基于Python和C++實(shí)現(xiàn)刪除鏈表的節(jié)點(diǎn)8. PHP設(shè)計(jì)模式中工廠模式深入詳解9. 為什么PHP令人不爽(對(duì)于大型系統(tǒng))10. .Net實(shí)現(xiàn)圖片裁剪圖片縮放及圖片加水印詳解
