如何将python字典转换为以下格式

时间:2018-11-22 18:35:22

标签: python

我的字典:

[
  {
    "male_Unmarried": 792,
    "male_Husband": 13192,
    "male_own_child": 2823,
    "male_not_in_family": 4430,
    "male_wife": 2,
  }
]

期望:

    [
      {
        "label": "male_Unmarried",
        "value": 792
      },
      {
        "label": "male_Husband",
        "value": 13192
      },
      {
        "label": "male_own_child",
        "value": 2823
      },
      {
        "label": "male_not_in_family",
        "value": 4430
      },
      {
        "label": "male_wife",
        "value": 2
      }
    ]

我怎样才能像第二个字典那样转换第一个字典。

我想要第一个的每个字典 键将是标签,值将是第一字典的值。

请看看

2 个答案:

答案 0 :(得分:3)

您可以使用列表理解:

lst = [
  {
    "male_Unmarried": 792,
    "male_Husband": 13192,
    "male_own_child": 2823,
    "male_not_in_family": 4430,
    "male_wife": 2,
  }
]

print([{'label': k, 'value': v} for k, v in lst[0].items()])

# [{'label': 'male_Unmarried', 'value': 792}, 
#  {'label': 'male_Husband', 'value': 13192}, 
#  {'label': 'male_own_child', 'value': 2823}, 
#  {'label': 'male_not_in_family', 'value': 4430}, 
#  {'label': 'male_wife', 'value': 2}]

答案 1 :(得分:1)

lst=[ {"male_Unmarried": 792,"male_Husband": 13192,"male_own_child": 2823,
"male_not_in_family": 4430,"male_wife": 2,} ]
lst_new = [{"label":i,"value":a[0][i]} for i in lst[0]]
lst_new     
[{'label': 'male_Unmarried', 'value': 792},
 {'label': 'male_wife', 'value': 2},
 {'label': 'male_own_child', 'value': 2823},
 {'label': 'male_not_in_family', 'value': 4430},
 {'label': 'male_Husband', 'value': 13192}]