首页 > 解决方案 > 比较字典中列表之间的整数

问题描述

我是 Python 新手,我正在尝试为游戏制作计算器。我想在列表(即字典中的值)和最大值来自的键之间的特定索引处获取最大整数。

我试图循环浏览字典。

raw_player_score = {'Matt' : [3, 5, 5, 4, 6, 9],
                    'Kyle' : [6, 9, 11, 5, 4, 3],
                    'Emily' : [4, 4, 5, 2, 1, 5]}

def extra_points(dict):
    for k, v in dict.items():
        for number in v:
            apple_king = max(v[1])
            print(apple_king)

final_dict = extra_points(raw_player_score)

我希望结果为 9,因为 Kevin 在索引 1 处的数字最高,但相反,我收到消息“'int' object is not iterable'

标签: python

解决方案


其他答案中的所有建议都是正确的。我将提供一个更简单、老式的解决方案,它可以做最少的工作,无需创建任何额外的列表或进行任何排序。我认为作为一个新的 Python 程序员,最直接和透明的方法可能会为您提供最好的服务:

raw_player_scores = {'Matt' : [3, 5, 5, 4, 6, 9],
                    'Kyle' : [6, 9, 11, 5, 4, 3,],
                    'Emily' : [4, 4, 5, 2, 1, 5]}

def extra_points(scores, pos):
    max_score = 0
    max_key = None
    for k, v in scores.items():
        if v[pos] > max_score:
            max_score = v[pos]
            max_key = k
    return max_key

max_key = extra_points(raw_player_scores, 1)
print(max_key)

结果:

Kyle

推荐阅读