在Python中實現(xià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方法來轉換
>>> 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. 字典比較大時,使用itertools模塊中的izip方法來轉換要高效的多.
2. 反轉之前值應該要確保不是列表這樣不可hash的值,否則不能反轉.
補充知識:python 字典鍵和值翻轉輸出代碼
我就廢話不多說了,大家還是直接看代碼吧~
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("輸入錯誤")
以上這篇在Python中實現(xiàn)字典反轉案例就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關文章
pycharm 使用心得(六)進行簡單的數(shù)據(jù)庫管理
功能簡介:pycharm自帶了一個簡單的數(shù)據(jù)庫插件,可以比較方便的進行簡單的數(shù)據(jù)庫操作。2014-06-06詳解Python logging調用Logger.info方法的處理過程
這篇文章主要介紹了詳解Python logging調用Logger.info方法的處理過程,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2019-02-02詳解Python之數(shù)據(jù)序列化(json、pickle、shelve)
本篇文章主要介紹了Python之數(shù)據(jù)序列化,本節(jié)要介紹的就是Python內置的幾個用于進行數(shù)據(jù)序列化的模塊,有興趣的可以了解一下。2017-03-03解決Python?出現(xiàn)File?“<stdin>“,?line?1非語法錯誤的問題
這篇文章主要介紹了Python?出現(xiàn)File?“<stdin>“,?line?1非語法錯誤的解決辦法,本文給大家講解的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下2023-03-03