从表中获取元素并计数

2024-05-14 18:57:55 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一张代表比赛结果的桌子。你知道吗

GameTab = [['TRE','ARD','1','1'],['PRK','GEA','2','3'],['ARD','PRK','1','0'],['TRE','GEA','2','1']]

我将一个文本文件的结果附加到表格中,所以这里是文本格式:为了更简单,它被解释为,例如,TRE得分1,ARD得分1。PRK得分2,GEA得分3。你知道吗

TRE:ARD:1:1
PRK:GEA:2:3
ARD:PRK:1:0
TRE:GEA:2:1

我不想为玩家获得结果,而是想获得对手的结果。我已经做了我的代码在某种程度上,它获得的结果的球员,但我不能想到一个方法来获得对手的结果。你知道吗

例如,在PRK:GEA和崔:GEA地址:

The opponent of GEA scored a total of: 4

我的代码:

gameTab =[['TRE','ARD','1','1'],['PRK','GEA','2','3'],['ARD','PRK','1','0'],
          ['TRE','GEA','2','1']]

dictionary = {}
for i in gameTab:
    for c in range(len(i[:2])):
        if i[:2][c] not in dictionary.keys():
               dictionary[i[:2][c]] = int(i[2:][c])
        else:
            dictionary[i[:2][c]] += int(i[2:][c])
print(dictionary)

Tags: of代码infordictionary代表inttre
2条回答
gametab = [['TRE','ARD','1','1'],['PRK','GEA','2','3'],['ARD','PRK','1','0'],['TRE','GEA','2','1']]

dicta = {}
for i in range(len(gametab)):
    for j in range(2):
        if gametab[i][j] in dicta:
            dicta[gametab[i][j]] += int(gametab[i][j+2])
        else:
            dicta[gametab[i][j]] = int(gametab[i][j+2])

print dicta

为了获得对手对一个队的结果,下面的代码满足以下条件:

gameTab =[['TRE','ARD','1','1'],['PRK','GEA','2','3'],['ARD','PRK','1','0'],['TRE','GEA','2','1']]

dictionary = {}
for i in gameTab:
    if i[0] in dictionary:
    dictionary[i[0]] += int(i[3])
    else:
    dictionary[i[0]] = int(i[2])

    if i[1] in dictionary:
    dictionary[i[1]] += int(i[2])
    else:
    dictionary[i[1]] = int(i[2])

print(dictionary)

它打印出来:{'ARD': 1, 'GEA': 4, 'TRE': 2, 'PRK': 3}

基本上遍历列表列表,并为每个团队检查字典中是否存在该列表,然后将其值作为对手值递增。最后你会在与对手的比赛中得分。你知道吗

相关问题 更多 >

    热门问题