在字典中交换两个随机值

时间:2014-12-01 13:02:59

标签: python dictionary key-value-store

我的字典看起来像这样:

{'new': 'old', 'bright': 'dark', 'on': 'off'...}

如何随机“交换”两个值?例如,之后可能会看起来像这样:

{'new': 'dark', 'bright': 'old', 'on': 'off'...}

项目的顺序并不重要。

编辑:

这是我在问之前尝试过的:

keys = ['new', 'bright', 'on'...]
values = ['old', 'dark', 'off'...]
d = dict(zip(keys,values))
random.shuffle(values)
d = dict(zip(keys,values))

所以,我认为实质上问题是我能够改变所有值,但不能随意交换其中两个值。

也许没有必要提及订单并不重要。当我查看类似的问题时,作者似乎想要找到并交换特定键的特定值。这不是这里的情况,所以我只是引用了我考虑过词典的“无序”这一事实。

感谢您的意见和解决方案。

1 个答案:

答案 0 :(得分:10)

python的力量:

key1, key2 = random.sample(list(d), 2)
d[key1], d[key2] = d[key2], d[key1]