【发布时间】:2016-03-20 07:24:06
【问题描述】:
我有一个列表列表:
playoffTeamList = [[adSeed1, adSeed4], [adSeed2, adSeed3],
[mdSeed1, mdSeed4], (mdSeed2, mdSeed3],
[cdSeed1, cdSeed4], (cdSeed2, cdSeed3],
[pdSeed1, pdSeed4], (pdSeed2, pdSeed3]]
这是进入季后赛的运动队列表(即 NHL 或 NBA 风格的季后赛格式,7 轮最佳)。列表中的每个列表都是将在第一轮对决的团队对。将有4轮加冕冠军。
我想做的是从每对中删除失败的团队并重新排列更大的列表,以便在迭代过程中将获胜者重新放入(或重新列出),以便下一轮看起来像:
playoffTeamList = [[adSeed1, adSeed2],
[mdSeed1, mdSeed2],
[cdSeed1, cdSeed2],
[pdSeed1, pdSeed2]]
下一轮:
playoffTeamList = [[adSeed1, mdSeed1],
[cdSeed1, pdSeed2]]
然后
playoffTeamList = [[adSeed1, pdSeed2]]
我的想法是从每个列表中删除失败的团队:
for brackets in playoffTeamList:
playoffScoring() # This is an algorithm that plays each game of each best of seven round and returns a winner and/or loser
brackets.remove(brackets[0])
print playoffTeamList
我只是想不通如何重新排列更大的列表,以便获胜的团队保留并重新加入括号。压缩或解压缩似乎并没有让我到达那里。也许我只是缺少一个允许我这样做的方法或函数。
此外,我对如何设置我的列表的其他想法持开放态度,这样在返回每一轮的获胜者并重新安排下一轮时会更加优雅。也许是字典?也许还有别的?
【问题讨论】:
-
仅供参考,从当前迭代的序列中删除内容通常是个坏主意。了解为什么here
标签: python