29
A
回答
48
my_dict2 = dict((y,x) for x,y in my_dict.iteritems())
如果您使用python 2.7或3.x,您可以使用字典理解來代替:
my_dict2 = {y:x for x,y in my_dict.iteritems()}
編輯
如由JBernardo的評論中指出,爲Python 3.x都有你需要使用items
代替iteritems
4
試試這個:
my_dict = {2:3, 5:6, 8:9}
new_dict = {}
for k, v in my_dict.items():
new_dict[v] = k
6
使用此代碼(平凡修改) from Python reverse/invert a mapping:
dict((v,k) for k, v in my_dict.iteritems())
請注意,這假設原始字典中的值是唯一的。否則,你最終會在結果字典中出現重複鍵,這是不允許的。
而@wim指出,它也假設這些值是可散列的。如果您不確定什麼是不可排除的,請參閱the Python glossary。
4
1
my_dict = { my_dict[k]:k for k in my_dict}
2
有時,條件是值都是唯一不會舉行,在這種情況下,上面的答案會破壞任何重複的值。
下卷,可能是複製成一個列表中的值:
from itertools import count
dict([(a,[list(d.keys())[i] for i,j in zip(count(), d.values())if j==a in set(d.values())])
我敢肯定有一個更好的(非列表-COMP)方法,但我不得不與先前的答案的一個問題,所以我認爲我會提供我的解決方案,以防其他人有類似的用例。
P.S.不要指望字典在原文發生任何變化之後保持整齊排列!此方法僅在靜態字典中一次性使用 - 您已被警告!
0
首先它是不是保證這是可能的,因爲字典的值可能是不可能的。
如果這些都沒有,我們可以使用與功能的方法:
reversed_dict = dict(map(reversed, original_dict.items()))
相關問題
- 1. 使用鍵和值的字典蟒蛇
- 2. 蟒蛇連接鍵和值從字典
- 3. 蟒蛇和字典鍵和總和字典值
- 4. 蟒蛇在字典值
- 5. 蟒蛇字典改變嵌套鍵值
- 6. 嵌套字典蟒蛇鍵
- 7. 字典和蟒蛇
- 8. 蟒蛇 - 字典和
- 9. 蟒蛇 - 轉換Python字典值相應的鍵值對
- 10. 蟒蛇:字典中
- 11. 在字典(蟒蛇)
- 12. 蟒蛇:在字典
- 13. 訪問蟒蛇字典值
- 14. 轉換列表,字典和蟒蛇
- 15. 蟒蛇:字典
- 16. 蟒蛇:字典
- 17. 樹字典在整數鍵蟒蛇
- 18. 字典中的蟒蛇
- 19. 排序按值蟒蛇在給定的字典值字典
- 20. 字典與蟒蛇
- 21. 從字典蟒蛇
- 22. 蟒蛇從字典
- 23. 蟒蛇pprint字典
- 24. 蟒蛇:從字典
- 25. 從蟒蛇字典
- 26. 蟒蛇下令字典與重複鍵
- 27. 蟒蛇遞歸:使用文字的鍵值字典
- 28. 蟒蛇查找字典在字典
- 29. 蟒:切換詞典鍵結構
- 30. 蟒蛇字典的唯一值計數
是價值獨特之處?這些值是否可排除? – wim