我有一个名为CurrentLineup的变量,它包含一组5个这样的名称
set(['Player 1', 'Player 2', 'Player 3', 'Player 4', 'Player 5'])
我有一个循环的所有事件在一场比赛中,其中包括其他球员的替代品在游戏中和游戏外。你知道吗
我想做的是创建一个包含所有5个人集的列表,作为CurrentLineup更新,所以我在循环外初始化了以下内容。。。以这段代码为例。你知道吗
Lineup_List = []
Lineup_List.append(Current_Lineup)
For i in game_events:
if "Enters Game" in i:
player = 'Player 6'
Current_Lineup.add(player)
if "Leaves Game" in i:
player2 = 'Player 4'
Current_Lineup.remove(player2)
if len(Current_Lineup) == 5:
Lineup_List.append(Current_Lineup)
我的问题是,当我在循环之后返回列表时,它多次使用当前列表的最终版本。你知道吗
如果这个循环运行了两次,我希望Lineup\u List得到以下结果:
[set(['Player 1', 'Player 2', 'Player 3', 'Player 4', 'Player 5']),
set(['Player 1', 'Player 2', 'Player 3', 'Player 6', 'Player 5'])]
如何按发生的顺序保留CurrentLineup在循环中采用的各种值?你知道吗
在追加集合时,需要对其进行(浅层)复制,否则您只需不断更改相同的集合,也可以在列列表中引用。因此,将最后一行更改如下(添加
set()
):这将附加一个当前行集合的副本,以便您可以在下一次迭代中安全地更改它,而不会影响已添加的集合。你知道吗
相关问题 更多 >
编程相关推荐