python中列表值和字符串的相似之处,python三种表示字符串
我正在使用数据模块创建一个包含类似条目的数据文件
JSON。转储({ 字段:{ 名称: %s ,城市: %s ,状态: % s ,国家: %s })
但是,在创建的数据文件中,字段的顺序是错误的
{fields: {status: %s , city: %s , name: %s , country: %s}}
这是一个问题,因为%s字符串的替换现在是不正确的。
如何强制转储函数保持给定的顺序?
正如其他正确的回答所说,在Python 3.6之前,字典是无序的。
也就是说,JSON也应该有无序映射,所以原则上在数据中存储有序字典没有多大意义。具体地说,这意味着在读取数据对象时,返回键的顺序可以是任意的。
因此,在数据中保持映射顺序(像Python OrderedDict)的一个好方法是输出一个(键,值)对数组,在读取时将它转换回有序映射:
从集合导入和谐的绿草/p导入数据
d=有序直接([(1,10),(2,20)])
打印d[2]
20
json_format=json.dumps(d.items())
打印json_format #订单已维护
[[1, 10], [2, 20]]
有序字典(JSON。loads(JSON _ format))#读取JSON:管用!
_[2] #这个管用!
20
(注意从(键,值)对的列表中构造有序字典的方式:OrderedDict({1: 10,2: 20})不起作用:它的键不一定像字典字面量那样有序,因为字面量创建的计算机编程语言字典的键是无序的。)
郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。