我有一个对象列表:
MyList = [A, B, C, D, E, F, G]
在执行代码期间,这些对象可能会移动位置.这种运动通常是一个接一个地发生,因此(例如)项目“D”可能会在“A”之后立即移动.因此,该清单如下:
MyList = [A, D, B, C, E, F, G]
我想知道的是,如果有一种方法(我已经尝试构建算法但我想使代码更短)来跟踪列表上的元素,以便我可以使用索引来恢复当我需要使用它们时,它们进入相同的列表(代码的其他部分无法触及,否则我将在移动循环中实现它).为了更好地解释,我想知道是否有可能做出这样的事情:
#ORIGINARY LIST
MyList = [A, B, C, D, E, F, G]
Current_Indexes= [0,1,2,3,4,5,6]
#ITERATION THAT MOVES D RIGHT AFTER A
MyList = [A, D, B, C, E, F, G]
Current_Index_Mapping = [0,3,1,2,4,5,6] #method or built-in function???
我在脑海中想到了一些东西,比如在代码的开头创建一个列表,如下所示:
for i in range(0, len(MyList)):
Current_Index_Mapping.append((i,MyList[i]))
然后提取元组以更新Current_Index_Mapping列表.但是我对Python编程很新,我不知道很多方法和内置函数,所以我想知道:有没有人有更好的想法得到相同的结果?