我在列表中有多个词典。我想用自定义键对字典进行排序。就我而言,我想使用
Date
键对其进行排序。也就是说,我的意思是将Date
键移动到第一个位置。使用Date
键对字典进行排序的有效方法是什么?
PS:我不想按
Date
的值排序。
[
{
"AmazonS3":6.54,
"AmazonEC2":27.55,
"AmazonCloudWatch":0.51,
"Date":"2020-07-01"
},
{
"AmazonEC2":27.8,
"Date":"2020-07-02"
},
{
"AmazonElastiCache":0.01,
"AmazonEC2":35.34,
"Date":"2020-07-03"
}
]
预期产出:
...
{
"Date":"2020-07-03",
"AmazonElastiCache":0.01,
"AmazonEC2":35.34
}
...
如果您使用的是保留密钥插入顺序的 Python 版本(即 3.7 或更新版本),您可以这样做:
print([{"Date": di["Date"], **di} for di in my_list])
[ { '日期':'2020-07-01', 'AmazonS3':6.54, 'AmazonEC2':27.55, “亚马逊云观察”:0.51 }, { '日期':'2020-07-02', “AmazonEC2”:27.8 }, { '日期':'2020-07-03', 'AmazonElastiCache':0.01, “AmazonEC2”:35.34 } ]
我相信你可以使用 OrderedDict 的 move_to_end 来做到这一点。
dict = OrderedDict.fromkeys("qwerty")
dict.move_to_end("t", last=False)
"".join(dict.keys())
"tqwery"
你不能对字典进行排序,因为字典没有顺序。