我在 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/

10-12 22:46