如何将值添加到字典中的先前值

时间:2019-06-11 16:07:37

标签: python-2.7

我有一个k=number of teamsn=number of matches输入,如下所示:

4 6 Romania 4 – 0 France Italia 2 – 1 Rusia France 3 – 0 Italy Rusia 2 – 2 Romania Romania 1 – 0 Italy Franta 2 – 1 Rusia

我正在输出一个冠军桌(不会有得分相同的球队!):

<team> <number of points> <goals> < goals received>

必须看起来像这样:

Romania 7 7 2 France 6 5 5 Italy 3 2 5 Rusia 1 4 6

我尝试一次阅读一场比赛,并构建了一个字典,在其中修改了值,但是我意识到我的代码保留了每个团队的要点和目标,我不知道如何为以前的值添加一个值。 / p>

import operator

k=int(raw_input())
n=int(raw_input())

d={}
p=0
gi=0
gp=0
for i in range(n):
    m=raw_input().split()

    if m[1] > m[3]:
        d.update({m[0]:[p+3,int(m[1])+gi,int(m[3])+gp]})
        d.update({m[4]:[p,int(m[3])+gp,int(m[1])+gi]})
        p=p+3
        gi+=int(m[1])
        gp+=int(m[3])

    elif m[1] < m[3]:
        d.update({m[0]:[p,int(m[1])+gi,int(m[3])+gp]})
        d.update({m[4]:[p+3,int(m[3])+gp,int(m[1])+gi]})
        p=p+3
        gi+=int(m[1])
        gp+=int(m[3])
    else:
        d.update({m[0]:[p+1,int(m[1])+gi,int(m[3])+gp]})
        d.update({m[4]:[p+1,int(m[3])+gp,int(m[1])+gi]})
        p=p+1
        gi+=int(m[1])
        gp+=int(m[3])

sorted_d=sorted(d.items(),key=operator.itemgetter(1),reverse=True)

for x in sorted_d:
    print x[0],x[1][0],x[1][1],x[1][2]

其中gi are the goals givengp the goals received。现在我认为他们没有用,因为我将其添加到每个团队中,我的输出还可以,但是目标和得分太多了

0 个答案:

没有答案