在领带的情况下字典中的随机最大密钥

时间:2017-07-10 00:53:48

标签: python dictionary

我有dictionary:键是字符串,值是浮点数。

示例:

A = {'a':1, 'b':2, 'c':2, 'd':0}

我想以相同的概率得到'b''c'作为答案。我找到了一种获得所述行为的方法。但是我不相信这是最好的做法。

import random

A = {'a':1, 'b':2, 'c':2, 'd':0}
all = (A.items())
values = [(x[1],random.random(),x[0]) for x in all]
maxIndex = values.index(max(values))
print(values[maxIndex][2])

有更好的(甚至更优雅的)方法吗?

1 个答案:

答案 0 :(得分:5)

试试这个:

View

首先,我们找到最大值,然后我们随机选择一个与该值匹配的键。我们使用的是random.choice,它可以保证随机选择均匀分布。