python django词典

python django词典,python,django,Python,Django,我有一个这样格式的列表: [{'BURGLARY': [0, 1, 1, 0], 'PHYSICAL ASSAULT': [0, 0, 1, 0], 'ROBBERY': [0, 0, 0, 1], 'VANDALISM': [2, 0, 1, 0], 'THEFT': [1, 3, 2, 1], 'DRUGS AND SUBSTANCE ABUSE': [0, 0, 1, 0], 'SEXUAL HARASSMENT': [0, 0, 0, 1]}] 我想将其格式更改为: [ {

我有一个这样格式的列表:

[{'BURGLARY': [0, 1, 1, 0], 'PHYSICAL ASSAULT': [0, 0, 1, 0], 'ROBBERY': 
  [0, 0, 0, 1], 'VANDALISM': [2, 0, 1, 0], 'THEFT': [1, 3, 2, 1], 'DRUGS AND SUBSTANCE ABUSE': [0, 0, 1, 0], 'SEXUAL HARASSMENT': [0, 0, 0, 1]}]
我想将其格式更改为:

[
  {
   name:"BURGLARY",
   data:[0, 1, 1, 0]
  }
   {
   name:"PHYSICAL ASSAULT",
   data:[0, 0, 1, 0]
  }
...
]
如何存档此文件?请帮忙

data = [{'BURGLARY': [0, 1, 1, 0], 'PHYSICAL ASSAULT': [0, 0, 1, 0], 'ROBBERY': 
      [0, 0, 0, 1], 'VANDALISM': [2, 0, 1, 0], 'THEFT': [1, 3, 2, 1], 'DRUGS 
      AND SUBSTANCE ABUSE': [0, 0, 1, 0], 'SEXUAL HARASSMENT': [0, 0, 0, 1]}]
rlt = [{'name': key, 'data': val} for key,val in data[0].items()]
rlt就是你想要的

data = [{'BURGLARY': [0, 1, 1, 0], 'PHYSICAL ASSAULT': [0, 0, 1, 0], 'ROBBERY': 
  [0, 0, 0, 1], 'VANDALISM': [2, 0, 1, 0], 'THEFT': [1, 3, 2, 1], 'DRUGS AND SUBSTANCE ABUSE': [0, 0, 1, 0], 'SEXUAL HARASSMENT': [0, 0, 0, 1]}]

new_data = [{ "name": k, "data" : data[0][k]} for k in data[0]]
rlt就是你想要的

data = [{'BURGLARY': [0, 1, 1, 0], 'PHYSICAL ASSAULT': [0, 0, 1, 0], 'ROBBERY': 
  [0, 0, 0, 1], 'VANDALISM': [2, 0, 1, 0], 'THEFT': [1, 3, 2, 1], 'DRUGS AND SUBSTANCE ABUSE': [0, 0, 1, 0], 'SEXUAL HARASSMENT': [0, 0, 0, 1]}]

new_data = [{ "name": k, "data" : data[0][k]} for k in data[0]]
输出:

[{'data': [0, 0, 0, 1], 'name': 'ROBBERY'},
 {'data': [2, 0, 1, 0], 'name': 'VANDALISM'},
 {'data': [0, 0, 0, 1], 'name': 'SEXUAL HARASSMENT'},
 {'data': [1, 3, 2, 1], 'name': 'THEFT'},
 {'data': [0, 1, 1, 0], 'name': 'BURGLARY'},
 {'data': [0, 0, 1, 0], 'name': 'PHYSICAL ASSAULT'},
 {'data': [0, 0, 1, 0], 'name': 'DRUGS AND SUBSTANCE ABUSE'}]
输出:

[{'data': [0, 0, 0, 1], 'name': 'ROBBERY'},
 {'data': [2, 0, 1, 0], 'name': 'VANDALISM'},
 {'data': [0, 0, 0, 1], 'name': 'SEXUAL HARASSMENT'},
 {'data': [1, 3, 2, 1], 'name': 'THEFT'},
 {'data': [0, 1, 1, 0], 'name': 'BURGLARY'},
 {'data': [0, 0, 1, 0], 'name': 'PHYSICAL ASSAULT'},
 {'data': [0, 0, 1, 0], 'name': 'DRUGS AND SUBSTANCE ABUSE'}]
输出

[{'name': 'VANDALISM', 'data': [2, 0, 1, 0]}, {'name': 'SEXUAL HARASSMENT', 'data': [0, 0, 0, 1]}, {'name': 'PHYSICAL ASSAULT', 'data': [0, 0, 1, 0]}, {'name': 'DRUGS AND SUBSTANCE ABUSE', 'data': [0, 0, 1, 0]}, {'name': 'THEFT', 'data': [1, 3, 2, 1]}, {'name': 'ROBBERY', 'data': [0, 0, 0, 1]}, {'name': 'BURGLARY', 'data': [0, 1, 1, 0]}]
输出

[{'name': 'VANDALISM', 'data': [2, 0, 1, 0]}, {'name': 'SEXUAL HARASSMENT', 'data': [0, 0, 0, 1]}, {'name': 'PHYSICAL ASSAULT', 'data': [0, 0, 1, 0]}, {'name': 'DRUGS AND SUBSTANCE ABUSE', 'data': [0, 0, 1, 0]}, {'name': 'THEFT', 'data': [1, 3, 2, 1]}, {'name': 'ROBBERY', 'data': [0, 0, 0, 1]}, {'name': 'BURGLARY', 'data': [0, 1, 1, 0]}]

对于一个好的老式答案,+1。但是,请注意,b.items()会在内存中创建一个新列表。通过dict键引用会更快。非常感谢。你们都惊讶于一个好的老式答案,+1。但是,请注意,b.items()会在内存中创建一个新列表。通过dict键引用会更快。非常感谢。你们都很了不起