-
白猪掌柜的
Python 2:res = dict((v,k) for k,v in a.iteritems())Python 3(感谢@erik):res = dict((v,k) for k,v in a.items())
-
函数式编程
从Python 2.7起,包括3.0及更高版本,有一个更短,更易读的版本:>>> my_dict = {'x':1, 'y':2, 'z':3}>>> {v: k for k, v in my_dict.items()}{1: 'x', 2: 'y', 3: 'z'}
-
守着一只汪
您可以尝试:d={'one':1,'two':2}d2=dict((value,key) for key,value in d.iteritems())d2 {'two': 2, 'one': 1}注意,如果出现以下情况,您将无法“撤消”字典多个密钥共享相同的值。例如{'one':1,'two':1}。新字典只能有一个带有key的项目1。其中一个或多个值是不可散列的。例如{'one':[1]}。[1]是有效值,但不是有效键。有关此主题的讨论,请参见python邮件列表上的该线程。