我有2个数据结构-
单子里有一串钥匙。字典里有同样的键。对于每个键的值,我希望在列表中存储相应元素的地址。这将实现什么:对于一个键,如果键存在与否,我会查找字典。如果key存在,那么在列表中获取该元素的地址并获取/弹出/追加该元素。在
我的问题:
我应该在字典中存储什么作为每个键的value
来访问列表中的特定元素?键的索引将在列表中更改。例如,我可以弹出一个元素并将其插入末尾。因此,字典中所有键的索引都会改变。因此,存储绝对索引不是我想要的。在
列表的示例、对它的某些操作以及结果列表。 L=['1','2','3']
Add '4' to list: L = ['1', '2', '3', '4']
Pop the last unused element: L = ['2', '3', '4']
Use the element '2': L = ['3', '4', '2']
Pop the last unused element: L = ['4', '2']
Add '1' to the list: L = ['4', '2', '1']
Add '5' to the list: L = ['4', '2', '1', '5']
Use '2' from the list: L = ['4', '1', '5', '2']
如您所见,元素的位置根据所执行的操作而变化。如果我在列表中存储了元素的地址,那么使用字典将有助于避免搜索列表。在
您可以将列表元素的索引存储在字典中,然后使用
list[index]
来获取该元素。在示例代码-
检索代码,假设
^{pr2}$n
是要检索的数字-显然,这是不可能的。为了实现这一点,我需要创建类对象并存储上一个和下一个元素的id,就像我们在链表中所做的那样。在
编辑(参见下面的注释)
要创建或更新,请调用:
^{pr2}$相关问题 更多 >
编程相关推荐