簡體   English   中英

在字典Python中對鍵進行排序

[英]Sort keys in a dictionary Python

我有一個像這樣的Json文件:

{
  "wasGeneratedBy": {
    "_:wGB3": {
      "prov:entity": "ivo://stsci/DSS-digitized-J.444",
      "prov:activity": "stcsiNum-1b"
    },
    "_:wGB1": {
      "prov:entity": "ivo://stsci/DSS-digitized-J.444-cutouts",
      "prov:activity": "cds_cutout444"
    },
    "_:wGB2": {
      "prov:entity": "ivo://stsci/DSS-digitized-I.444",
      "prov:activity": "stcsiNum-1a"
    }
  },
  "activity": {
    "stcsiNum-1a": {},

  },
  "used": {
    "_:u6": {
      "prov:entity": "ivo://stsci/DSS-Plate-R.444",
      "prov:activity": "stcsiNum-1c"
    },
    "_:u2": {
      "prov:entity": "ivo://stsci/DSS-Plate-I.444",
      "prov:activity": "stcsiNum-1a"
    },
    "_:u3": {
      "prov:entity": "ivo://stsci/DSS-digitized-J.444",
      "prov:activity": "cds_cutout444"

  },
  "entity": {
    "ivo://stsci/DSS-digitized-R.444": {},
    "ivo://stsci/DSS-digitized-J.444-cutouts": {},
    "ivo://stsci/DSS-Plate-R.444": {},
  }
}

但是我想按這樣的特定順序(“活動”,“實體”,“已使用”,“ wasGeneratedBy”)對所有鍵(“ wasGenereratedBy”,“活動” ...)進行排序

我已經聲明了這一點:

my_own_order = ['entity', 'used', 'activity','wasGeneratedBy']

我已經嘗試過了,但是沒有用:

print sorted(fileName,order=my_own_order)

有什么建議么 ? 謝謝

使用OrderedDict

from collections import OrderedDict

print OrderedDict((k,mydict[k] for k in  my_own_order))

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM