Python中 交換整個字典的鍵與值 最快和最簡潔的方法分別是什麼?

假設 鍵與值滿足雙射關係,且 值都是唯一的


d = dict((y,x) for x,y in d.iteritems())

或者 d = dict(zip(d.values(), d.keys()))

python 2.7 以上 d = {y:x for x,y in d.iteritems()}

還有比這更簡潔高效的嗎?


dict(map(reversed, d.iteritems()))


{y: x for x, y in d.iteritems()}

2.7以上可以這麼寫


其實還可以省幾個字元

dict(zip(d.values(),d))


題主都沒說value是不是可變類型,你們就爭先恐後的跳坑。。。。


推薦閱讀:

什麼時候會用到python裝飾器?
python如何恰當的判斷多個值是否在list中?
python3.4版本 scipy庫函數怎麼安裝?
有的python內置函數怎麼就一個pass?
想知道大家都用python寫過哪些有趣的腳本?

TAG:Python | 編程學習 | Python入門 | Python開發 |