def find_totals(d):
total = {}
for match, results in d.items():
for player, score in results.items():
total[player] = total.get(player, 0) + score
return total
d = {'match1':{'player1':57, 'player2':38}, 'match2':{'player3':9, 'player1':42}, 'match3':{'player2':41, 'player4':63, 'player3':91}}
players = {}
for key, val in enumerate(d):
#print val
for ele,value in enumerate(d[val]):
#print value
if value not in players:
players[value] = d[val][value]
else:
players[value] += d[val][value]
print players
highest = 0
highest_player = ""
for key, value in enumerate(players):
if players[value]>highest:
highest = players[value]
highest_player = highest_player.replace(highest_player, value)
print highest_player,players[highest_player]
def score(match):
players = {}
for key in match:
for player in match[key]:
if player not in players:
players[player] =match[key][player]
else:
players[player]+=match[key][player]
return players
在嵌套的
dictionary
上迭代,并将分数相加到玩家总数的字典中。你知道吗样本输出
这是解决你问题的办法
希望这对你有帮助。你知道吗
快速概述,如果玩家不在新字典中,创建成员资格并将密钥指向该玩家的分数。否则把分数加到那个运动员的总数上
相关问题 更多 >
编程相关推荐