我是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,因为凯文在索引1处的数字最高,但是相反,我得到的消息是“'int'对象不可迭代”
最佳答案
其他答案中的所有建议都是正确的。我将提供一个更简单的老式解决方案,该解决方案可以完成最少的工作,而无需创建任何其他列表或进行任何排序。我认为,作为一个新的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