我在Python中有一个这样的字典:dict = {‘a’:1,’q’:1,’l’:2,’m’:1,’u’:1,’i’:1}
有什么方法可以保持此字典的顺序以这种方式表示。我已经阅读了几个论坛,其中大多数建议使用OrderedDict()。但正如这里解释:
Python OrderedDict不保持元素顺序
以这种形式编写字典时,OrderedDict(dict)将不保留顺序。我无法以特定方式手动创建字典(例如,元组列表),因为它是由其他地方的代码随机生成的。非常感谢您的帮助!
在编写的那一刻dict = {'a':1, 'q':1, 'l':2, 'm':1, 'u':1, 'i':1},您已经失去了元素的顺序。保持方式:
dict = {'a':1, 'q':1, 'l':2, 'm':1, 'u':1, 'i':1}
一种。OrderedDict首先从您的数据创建。
OrderedDict
b。将您转换dict为元组列表,并以所需的方式进行排序,然后OrderedDict从中创建。
dict
总而言之,从您的问题还不清楚您要保留什么。如果它是“随机”生成的,那么谁在乎,如果背后有某种逻辑,则可以使用此逻辑来重新创建该顺序并OrderedDict使用该顺序进行创建。如果在幕后发生了一些事情,这些事情是根据某些输入数据来创建此字典的,那么,a,您看到它的顺序并不是它被创建的顺序。
附言别叫你的字典dict。