保持dict键在Python 2.7中声明的顺序

2024-09-28 21:54:49 发布

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

我有以下字典:

data = {
        "id": "6018975a-dde7-4666-9436-b171c5a11dde",
        "name": "Jonh Doe",
        "email": "jdoe@example.org",
    }

当我在Python2.7中运行代码时,它会更改键的顺序。我知道从Python3.6开始,dict类型保持声明的顺序。但在这里,我对如何在Python2.7中实现它感兴趣,所以请不要建议我切换到Python3

在我的情况下,钥匙可能不同,所以我不能使用这样的东西,因为我不知道钥匙会是什么样子:

from collections import OrderedDict
my_dictionary=OrderedDict()
my_dictionary['id']="6018975a-dde7-4666-9436-b171c5a11dde"
my_dictionary['name']="Jonh Doe"
my_dictionary['email']="jdoe@example.org"

将dict重写到元组列表也不起作用:

data_list = [(k, v) for k, v in data.items()]
data_list = collections.OrderedDict(data_list)
print(data_list)

我在这里看到了类似的帖子: How to keep keys/values in same order as declared? 这里:Converting dict to OrderedDict

大多数解决方案都依赖于了解关键值。正如我在我的案例中所说的,我不知道钥匙会是什么

感谢您的帮助!谢谢


Tags: nameiddatadictionaryemailmydictlist