如何在声明字典时保留键的顺序

2024-09-30 04:34:34 发布

您现在位置:Python中文网/ 问答频道 /正文

我的目标是在字典声明中保留键的顺序。我正在使用collections.OrderedDict,但是当我运行时:

>>> modelConfigBase = OrderedDict({'FC':'*','EC':'*','MP':'*','LP':'*','ST':'*','SC':'*'})

顺序更改:

>>> modelConfigBase
OrderedDict([('EC', '*'), ('ST', '*'), ('FC', '*'), ('MP', '*'), ('LP', '*'), ('SC', '*')])

我做错什么了?你知道吗


Tags: 声明目标字典顺序mpcollectionsordereddictst
2条回答

根据四个答案,解决方案如下:

modelConfigBase = OrderedDict([('EC', '*'), ('ST', '*'), ('FC', '*'), ('MP', '*'), ('LP', '*'), ('SC', '*')])

您要传递给OrderedDict的词典是无序的。你需要传递一个有序的项目列表。你知道吗

例如

modelConfigBase = OrderedDict([
    ('FC', '*'),
    ('EC', '*'),
    ('MP', '*'),
    ('LP', '*'),
    ('ST', '*'),
    ('SC', '*')])

注意,在这种情况下(因为所有的值都是相同的),看起来您可以使用更简单的:

modelConfigBase = OrderedDict.fromkeys(['FC', 'EC', 'MP', 'LP', 'ST', 'SC'], '*')

相关问题 更多 >

    热门问题