在python中旋转字典键

时间:2010-10-03 17:27:40

标签: python dictionary rotation key

我有一个包含多个值的字典,我想保持不变,但我需要在不同的键中旋转它们。是否有内置功能或外部库可以做到这一点,或者我自己写完整件事情会更好吗?

我想要做的例子:

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

我不必按顺序排列,我只需要每次都将值与不同的键相关联。

1 个答案:

答案 0 :(得分: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'}