我想从像这样的列表中编写一个脚本
Matches=[ ("Team Name1", 120, "Team Name2", 56 ), ... ,]
这是一个比赛列表,其中有两个队员名单和他们的成绩,给我输出一个列表,其中包含每个队名及其得分(每次获胜2分)。我的输出应该是这样的:
Team Score
Team Name 1 26
Team Name 2 30
...
我已达到类似的目标
for match in matches:
score=0
if match[1] > match[3]:
score + = 2
res=[match[0],score]
每个团队在匹配列表中也不会只玩一次。
答案 0 :(得分:0)
希望这会有所帮助。
matches=[ ("A", 120, "B", 56 ), ("A", 120, "C", 56 ), ("B", 120, "C", 56 )]
TEAM={}
for match in matches:
TEAM[match[0]]=0
TEAM[match[2]]=0
for match in matches:
if match[1] > match[3]:
TEAM[match[0]]+=2
elif match[3] > match[1]:
TEAM[match[2]]+=2
for match in TEAM:
print match, ":", TEAM[match]
答案 1 :(得分:0)
我不是建议这个答案,只是建议接受的答案也可以这样写:
matches=[ ("A", 120, "B", 56 ), ("A", 120, "C", 56 ), ("B", 120, "C", 56 )]
TEAM={}
for match in matches:
if not match[0] in TEAM:
TEAM[match[0]] = 0
if not match[2] in TEAM:
TEAM[match[2]] = 0
if match[1] > match[3]:
TEAM[match[0]] += 2
elif match[3] > match[1]:
TEAM[match[2]] += 2
for match in TEAM:
print(match, ":", TEAM[match])
这不是一个重大变化,只是一种替代方案。