2010-10-03 48 views
0

我有一個字典有幾個值,我想保持不變,但我需要在不同的鍵上旋轉它們。是否有內置的函數或外部庫,能夠做到這一點,或者我會更好的只是自己寫整個東西?什麼我試圖做在python中旋轉字典鍵

例子:

>>> firstdict = {'a':'a','b':'b','c':'c'} 
>>> firstdict.dorotatemethod() 
>>> firstdict 
{'a':'b','b':'c','c':'a'} 
>>> 

我不必在順序,我需要的只是值相關聯的不同的密鑰每次。

+3

聽起來更像是你實際上不需要字典 – 2010-10-03 17:47:25

+0

同意。你能否在更高的層面上告訴你想要做什麼? – 2010-10-03 19:05:56

回答

7
>>> from itertools import izip 
>>> def rotateItems(dictionary): 
... if dictionary: 
...  keys = dictionary.iterkeys() 
...  values = dictionary.itervalues() 
...  firstkey = next(keys) 
...  dictionary = dict(izip(keys, values)) 
...  dictionary[firstkey] = next(values) 
... return dictionary 
... 
>>> firstdict 
{'a': 'a', 'c': 'c', 'b': 'b'} 
>>> rotateItems(firstdict) 
{'a': 'b', 'c': 'a', 'b': 'c'}