我有一个包含多个值的字典,我想保持不变,但我需要在不同的键中旋转它们。是否有内置功能或外部库可以做到这一点,或者我自己写完整件事情会更好吗?
我想要做的例子:
>>> firstdict = {'a':'a','b':'b','c':'c'}
>>> firstdict.dorotatemethod()
>>> firstdict
{'a':'b','b':'c','c':'a'}
>>>
我不必按顺序排列,我只需要每次都将值与不同的键相关联。
答案 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'}