使用货架存储持久性数据,在取回持久性数据时遇到麻烦

问题描述 投票:1回答:1

我是python的新手,我正在做一个项目,需要维护已找到记录的索引(例如缓存)。现在,我发现可以使用货架执行此操作。

[我正在做的是,如果用户要求某些东西尝试首先在货架索引中搜索,如果从那里返回的点击返回本身,则转到常规算法,而发现时只是对其进行货架更新。

我能够完美地实现此功能,但是问题是我什至需要保持搁置的索引数据的顺序。

[我发现,当我从搁置索引中获取一些记录时,每次我发出相同的请求时,它们以不同的顺序出现。

我的货架上的映射很多是1。

例如:

myIndex['a']="abc"
myIndex['b']="abc"
myIndex['c']="pqr"
myIndex['d']="abc"

现在获取时,我希望所有键(即a,b,d)的值都与我存储它们的顺序相同,即a然后是b然后是d,但是我得到了每次以不同的顺序。

link for code referrence

python-2.7 shelve
1个回答
0
投票

问题是myIndex是字典,而字典的枚举顺序未定义。您可以通过将myIndex设置为OrderedDict来解决问题。

OrderedDict
© www.soinside.com 2019 - 2024. All rights reserved.