【发布时间】:2017-11-08 15:34:21
【问题描述】:
我无法弄清楚如何搜索我拥有的嵌套列表以找到某些值,以便将不同的值添加到另一个嵌套列表中,如果这有意义的话?我将在下面尝试解释。
list1 = [[P1, 3, P2, 1],[P3, 2, P4, 1][P5, 3, P6, 2]]
基本上,这个嵌套列表表示玩家之间游戏的回合得分(P1 对 P2 得 3 分,P2 对 P1 得 1 分)。
我还有第二个嵌套列表:
list2 = [[P1], [P2], [P3], [P4], [P5], [P6]]
第二个嵌套列表将代表玩家之间的排名分数。我想要实现的是根据第一个嵌套列表中的玩家得分将排名得分插入到第二个嵌套列表中。例如,在“list1”中,P1、P3 和 P5 赢得了他们的回合,因此我想在“list2”中为这些玩家插入“5”(用于演示的任意数字)的排名分数,为其他玩家插入“0”播放器,以便列表看起来像这样:
list2 = [[P1, 5], [P2, 0], [P3, 5], [P4, 0], [P5, 5], [P6, 0]]
我正在努力弄清楚如何做到这一点背后的逻辑,所以任何帮助都将不胜感激
谢谢,
【问题讨论】:
-
您可能会发现
dicts 很有用,因为您可以直接使用玩家名称作为键。然后遍历您的第一个列表并比较分数并给您字典中的玩家 5 分。 :) -
如果我可以建议 - 我会使用列表以外的其他东西来跟踪排名 - 列表在达到一定大小时非常好,但与
dict相比,它们最终会在性能上有所下降,例如。 -
平局或复赛怎么样?
-
您还缺少
[P3, 2, P4, 1]和[P5, 3, P6, 2]]之间的逗号
标签: python search insert compare nested-lists