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. 蟒蛇 - 转换Python字典值相应的键值对
- 5. 在字典(蟒蛇)
- 6. 蟒蛇:字典
- 7. 从字典蟒蛇
- 8. 蟒蛇从字典
- 9. 蟒蛇:从字典
- 10. 蟒蛇递归:使用文字的键值字典
- 11. 蟒蛇查找字典在字典
- 12. 蟒:切换词典键结构
- 13. 蟒蛇:字典的平面列表值
- 14. 蟒蛇字典的唯一值计数
- 15. 蟒蛇:字典的元组字典
- 16. 转换词典为字符串蟒蛇
- 17. 如何转换列表字典蟒蛇
- 18. 转换列表字典蟒蛇
- 19. 蟒蛇:检查重复的值字典键并指定新的字典
- 20. 蟒蛇Django的字典
- 21. 蟒蛇字典的国家
- 22. 蟒蛇MySQL的字典
- 23. 蟒蛇,字典创建于频率的字母和值的键出现
- 24. 蟒蛇字典 - 每个值的两个键
- 25. 蟒蛇关键值的两个字典匹配
- 26. 如何提取多层次的字典键/值蟒蛇
- 27. 变换辞典蟒蛇
- 28. 蟒蛇比较的元组和字典
- 29. 如何随机选择多个键和字典中的蟒蛇值
- 30. 熊猫据帧字段转换为键和值蟒蛇
是价值独特之处?这些值是否可排除? – wim