我需要一些建议。我想创建一个字典,包含足球队、他们的积分数和他们参加的比赛数。 analyzed 中的每个列表都包含一场比赛,得分最高的球队获胜并获得 3 分。每支球队的得分是使用第 4 行中的 calculateScores 函数计算的。但是,我还想跟踪每支球队打了多少场比赛。 我可以用 .get 语句做到这一点吗?我的函数返回 {'Steinkjer': 0, 'Byåsen': 6, 'Kvik Halden': 3}
,但我希望它返回 {'Steinkjer': [0, 2], 'Byåsen': [6, 3], 'Kvik Halden': [3, 1]}
。提前致谢!
analyzed = [['Steinkjer', 'Byåsen', 3, 5], ['Byåsen', 'Steinkjer', 2, 1], ['Byåsen', 'Kvik Halden', 2, 10]]
def sumTeamValues(analyzed):
D = {}
for match in analyzed:
scores = calculateScores(match[-2],match[-1])
D[match[0]] = D.get(match[0],0) + scores[0]
D[match[1]] = D.get(match[1],0) + scores[1]
return D
最佳答案
我看不出只有一个 get 语句可以做到这一点。只需将数组存储在字典中:
analyzed = [['Steinkjer', 'Byåsen', 3, 5], ['Byåsen', 'Steinkjer', 2, 1], ['Byåsen', 'Kvik Halden', 2, 10]]
def sumTeamValues(analyzed):
D = {}
for match in analyzed:
scores = calculateScores(match[-2],match[-1])
D[match[0]] = [D.get(match[0],[0, 0])[0] + scores[0], D.get(match[0],[0, 0])[1] + 1]
D[match[1]] = [D.get(match[1],[0, 0])[0] + scores[1], D.get(match[1],[0, 0])[1] + 1]
return D
关于python - 字典,使用 .get 添加多个值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53500750/