我试图维护 Python 字典的顺序,因为本机 dict
没有任何顺序。 SE 中的许多答案建议使用 OrderedDict
。
from collections import OrderedDict
domain1 = { "de": "Germany", "sk": "Slovakia", "hu": "Hungary",
"us": "United States", "no": "Norway" }
domain2 = OrderedDict({ "de": "Germany", "sk": "Slovakia", "hu": "Hungary",
"us": "United States", "no": "Norway" })
print domain1
print " "
for key,value in domain1.iteritems():
print (key,value)
print " "
print domain2
print ""
for key,value in domain2.iteritems():
print (key,value)
迭代后,我需要字典保持其原始顺序并将键和值按原样打印:
{
"de": "Germany",
"sk": "Slovakia",
"hu": "Hungary",
"us": "United States",
"no": "Norway"
}
不过,无论我使用哪种方式,都不会保留此顺序。
原文由 Eka 发布,翻译遵循 CC BY-SA 4.0 许可协议
您需要向它传递一系列项目或按顺序插入项目 - 这就是它知道顺序的方式。尝试这样的事情:
该数组有一个顺序,因此 OrderedDict 将知道您想要的顺序。