如何重新排列字典的键?

2024-09-29 23:21:40 发布

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

列表中有多本词典。我想用自定义键对字典进行排序。在我的例子中,我想使用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
   }
...

Tags: 方法列表date字典排序例子amazons3ps
3条回答

不能对词典进行排序,因为词典没有顺序

我相信你可以用OrderedDict's move_to_end to do this.

dict = OrderedDict.fromkeys("qwerty")
dict.move_to_end("t", last=False)
"".join(dict.keys())
"tqwery"

如果您使用的是Python3.6或更高版本,则可以执行以下操作:

print([{"Date": di["Date"], **di} for di in my_list])
[
  {
     'Date': '2020-07-01', 
     'AmazonS3': 6.54, 
     'AmazonEC2': 27.55, 
     'AmazonCloudWatch': 0.51
  }, 
  {
     'Date': '2020-07-02', 
     'AmazonEC2': 27.8
  }, 
  {
     'Date': '2020-07-03', 
     'AmazonElastiCache': 0.01,  
     'AmazonEC2': 35.34
  }
]

相关问题 更多 >

    热门问题