2013-04-04 46 views
3

我有字典如何使用字典功能?

d = {'a':3, 'b':7, 'c':8} 

我想知道我怎么能扭转字典的顺序,以使它看起来像这样:

d = {3:'a', 7:'b', 8:'c'} 

我想做到这一点,而不只是写它是这样的。 有没有一种方法可以使用第一个字典来获得新的结果?

+4

它不排序。只需倒转键和值。起初我也误解了 – mshsayem 2013-04-04 05:29:48

+3

_dict_不应该用作变量 – mshsayem 2013-04-04 05:37:59

+0

不要使用'dict'作为变量名,python内建字典类已经被称为'dict' – jamylak 2013-04-04 05:42:40

回答

11

是的。您可以在字典上调用items以获取(键,值)对的列表。然后,你可以扭转元组,并通过新的列表到dict

transposed = dict((value, key) for (key, value) in my_dict.items()) 

的Python 2.7和3.x也有字典解析,这使得它更好:

transposed = {value: key for (key, value) in my_dict.items()} 
+4

字典comps存在于2.7+中,而不仅仅是3.x – 2013-04-04 05:26:48

1
transposed = dict(zip(d.values(), d))