看板 Python 關於我們 聯絡資訊
※ 引述《MicroPtt (Mission Start)》之銘言: : 請問有函數或甚麼方法可以讓字典交換嗎?? : EX : Dic = {'aa': 0, 'bb': 1, 'cc': 2, 'dd': 3, 'ee': 4} : 我想得到 : Dic = { 0:'aa', 1:'bb', 2:'cc', 3:'dd', 4:'ee' } : 就是key & values互相交換 >>> Cid = {} #revert dict >>> for k,v in Dic.iteritems(): Cid[v]=k >>> S {0: 'aa', 1: 'bb', 2: 'cc', 3: 'dd', 4: 'ee'} -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 114.32.51.246
superGA:天外飛來S 01/23 01:18
MicroPtt:感謝 01/23 01:29
fcamel:挑戰一行:Cid = dict((v, k) for k, v in Dic.iteritems()) 01/23 22:45
leondemon:樓上的跟上一篇推文的方式 哪種執行較快? 01/24 11:56
superGA:我猜是這篇的比較快 01/24 22:00
Sforever:這篇一秒 上一篇四秒 ,一百萬筆資料 01/24 22:22
sbrhsieh:上一篇做法花太多成本在 list construction 01/24 22:44
sbrhsieh:如果以 Python 3.0+ 來測試,差距就會小很多 01/24 22:46
sbrhsieh:在 Python 3.0+ 環境中,此篇做法也不見得比較快 01/24 23:02
fcamel:Python3 可以寫得更簡單: 01/25 15:48
fcamel:{ v: k for k, v in Dic.items() } 01/25 15:48
fcamel:參照 http://ppt.cc/vfSr 01/25 15:50
SMUGEN:Dict Comprehensions早該有了 List Comprehensions那麼好用 01/25 17:26
picadar:受教了 XD 01/25 17:59