检查字典中的某些内容是否与该字典中的最大值相同?

Jip*_*912 0 python dictionary max

如何检查字典中的某些内容是否与该字典中的最大值相同.换句话说,获取所有最大值而不是最低位置的最大值.我有这个代码,它返回最大变量名称和值:

d = {'g_dirt4': g_dirt4, 'g_destiny2': g_destiny2, 'g_southpark': g_southpark, 'g_codww2': g_codww2, 'g_bfront2': g_bfront2, 'g_reddead2': g_reddead2, 'g_fifa18': g_fifa18, 'g_motogp17': g_motogp17, 'g_elderscrolls': g_elderscrolls, 'g_crashbandicoot': g_crashbandicoot} 
print("g_dirt4", g_dirt4, "g_destiny2", g_destiny2, "g_southpark", g_southpark, "g_codww2", g_codww2, "g_bfront2", g_bfront2, "g_reddead2", g_reddead2, "g_fifa18", g_fifa18, "g_motogp17", g_motogp17, "g_elderscrolls", g_elderscrolls, "g_crashbandicoot", g_crashbandicoot)
print (max(d.items(), key=lambda x: x[1]))
Run Code Online (Sandbox Code Playgroud)

现在它打印具有最高值加上值本身的变量,但是如果有两个或三个具有相同最大值的变量怎么办?我想打印所有最大值.

编辑:

用户必须填写表单,该表单将值添加到字典中的变量.用户完成后,将有一个,两个或更多具有最高值的变量.例如,代码给了我这个:

2017-06-08 15:05:43 g_dirt4 9 g_destiny2 8 g_southpark 5 g_codww2 8 g_bfront2 8 g_reddead2 7 g_fifa18 8 g_motogp17 9 g_elderscrolls 5 g_crashbandicoot 6
2017-06-08 15:05:43 ('g_dirt4', 9)
Run Code Online (Sandbox Code Playgroud)

现在它告诉我它g_dirt4具有9的最高值,但如果你看一下motogp17,它也有9但它没有被打印,因为它在字典中处于更高的位置.那我怎么打印它们呢?如果它有3个具有相同最大值的变量怎么办?

Ron*_*ris 5

给了一本字典

d = {'too': 2, 'one': 1, 'two': 2, 'won': 1, 'to': 2}
Run Code Online (Sandbox Code Playgroud)

以下命令:

result = [(n,v) for n,v in d.items() if v == max(d.values())]
Run Code Online (Sandbox Code Playgroud)

收益率: [('too', 2), ('two', 2), ('to', 2)]