我在 Python 中有一个字典,例如:
dict = {'a':1, 'q':1, 'l':2, 'm':1, 'u':1, 'i':1}
有什么办法可以保持这本字典的顺序以这种方式表达。我已经阅读了几个论坛,其中大多数建议使用 OrderedDict()。但正如这里所解释的:
Python OrderedDict not keeping element order
OrderedDict(dict) 在字典以这种形式编写时不会保持顺序。我无法以特定方式(例如元组列表)手动创建字典,因为它是由其他地方的代码随机生成的。
非常感谢您的帮助!!
最佳答案
在您编写 dict = {'a':1, 'q':1, 'l':2, 'm':1, 'u':1, 'i':1}
的那一刻,您已经失去了元素的顺序。保存方法:
一种。首先从您的数据创建 OrderedDict
。
湾将您的 dict
转换为元组列表并以您想要的方式排序,然后从中创建 OrderedDict
。
总而言之,从您的问题来看,您不清楚要保留什么。如果它是“随机”生成的,那么谁在乎,如果它背后有一些逻辑,则使用此逻辑重新创建该订单并使用它创建 OrderedDict
。如果幕后发生了一些事情,从一些输入数据创建了这个 dict,那么,唉,你看到它的顺序不是它被创建的顺序。
PS 不要调用你的 dict dict
。
关于python - Python 中的有序字典,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/22393661/