我对python的max()函数有一个问题。 我的情况是:
results = {'left' : leftKeyCounter, 'right' : rightKeyCounter, 'front' : frontKeyCounter, 'back' : backKeyCounter}
finalScore = max(results, key=results.get)
print(finalScore, 'wins')
我要解决的问题是我的结果会发生什么。比如说,我有
^{pr2}$事实上,他会返回'正面胜利'这是完全随机的,我需要过滤的结果。(或之前?) 所以如果这是两个最高结果之间的平局,他会取消它(例如)
最简单的方法是什么?我看了看“计数器”,但这并没有达到我在这里打算做的,因为我的数字已经打包好了,我只需要比较4个值,而没有任何2个最高值之间的联系。在
非常感谢!:-)
你只要把字典翻一遍就可以得出正确的结果。用值反转键,并跟踪最高分数。如果有多个项目的最高分数,您可以返回一个自定义消息。在
在反转中,不能简单地执行} 也可以达到同样的效果。在
{value: key for key, value in results.items()}
,因为如果两个值相同,它们将覆盖前一个值。所以你必须把结果保存在一个列表中。给切普纳的积分是scores.setdefault()
。他还建议用^{示例:
^{pr2}$编辑:如果你有一个小字典,你可以用更少的代码行来获得同样的结果:一次是找出最高分数,另一次是筛选出赢家。在
相关问题 更多 >
编程相关推荐