Python:按顺序检索字典键是否已添加?

时间:2012-03-30 02:51:39

标签: python sorting dictionary key

在Python中,有没有办法按顺序检索项目的关键列表?

String.compareMethods = {'equals': String.equals,
                         'contains': String.contains,
                         'startswith': String.startswith,
                         'endswith': String.endswith}

您在此处看到的按键用于选择(下拉)框,因此顺序非常重要。

有没有办法没有保留一个单独的列表(并没有为我正在尝试做的事情过度复杂化)?对于我所看到的,由于涉及散列而不可能......

我正在使用Python 2.6.x。

2 个答案:

答案 0 :(得分:9)

在Python 2.7+上使用collections.OrderedDict,在旧版本的Python上使用OrderedDict from PyPI。您应该可以使用pip install ordereddicteasy_install ordereddict安装Python 2.4-2.6。

它是dict的子类,因此任何采用dict的方法也会接受OrderedDict

答案 1 :(得分:2)

您需要的是OrderedDict

from collections import OrderedDict

d = OrderedDict();
d['equals'] = String.equals
d['contains'] = String.contains
# ...