小编典典

Python中的有序字典

python

我在Python中有一个这样的字典:dict = {‘a’:1,’q’:1,’l’:2,’m’:1,’u’:1,’i’:1}

有什么方法可以保持此字典的顺序以这种方式表示。我已经阅读了几个论坛,其中大多数建议使用OrderedDict()。但正如这里解释:

Python
OrderedDict不保持元素顺序

以这种形式编写字典时,OrderedDict(dict)将不保留顺序。我无法以特定方式手动创建字典(例如,元组列表),因为它是由其他地方的代码随机生成的。非常感谢您的帮助!


阅读 274

收藏
2021-01-20

共1个答案

小编典典

在编写的那一刻dict = {'a':1, 'q':1, 'l':2, 'm':1, 'u':1, 'i':1},您已经失去了元素的顺序。保持方式:

一种。OrderedDict首先从您的数据创建。

b。将您转换dict为元组列表,并以所需的方式进行排序,然后OrderedDict从中创建。

总而言之,从您的问题还不清楚您要保留什么。如果它是“随机”生成的,那么谁在乎,如果背后有某种逻辑,则可以使用此逻辑来重新创建该顺序并OrderedDict使用该顺序进行创建。如果在幕后发生了一些事情,这些事情是根据某些输入数据来创建此字典的,那么,a,您看到它的顺序并不是它被创建的顺序。

附言别叫你的字典dict

2021-01-20