[英]How to change a nested dictionary to a list of dictionary?
我有一本這樣的字典-
{'A': {'c1': 0, 'c2': 4, 'c3': 0, 'c4': 0, 'c5': 0}, 'B': {'c1': 1, 'c2': 0, 'c3': 0, 'c4': 0, 'c5': 0}}
我需要將其更改為這樣的列表-
data = [{"employee_id": 'A', 'c1': 0, 'c2': 4, 'c3': 0, 'c4': 0, 'c5': 0},
{"employee_id": 'B', 'c1': 1, 'c2': 0, 'c3': 0, 'c4': 0, 'c5': 0}
]
如果這是一個非常基本的問題,我很抱歉,我有生以來第一次在 python 上工作。
迭代它:
emp_dict = {'A': {'c1': 0, 'c2': 4, 'c3': 0, 'c4': 0, 'c5': 0},
'B': {'c1': 1, 'c2': 0, 'c3': 0, 'c4': 0, 'c5': 0}}
emp_list = []
for emp_id, data in emp_dict.items():
emp_list.append({'employee_id': emp_id, **data})
print(emp_list)
您也可以改用理解:
emp_list = [{'employee_id': emp_id, **data} for emp_id, data in emp_dict.items()]
輸出:
[{'employee_id': 'A', 'c1': 0, 'c2': 4, 'c3': 0, 'c4': 0, 'c5': 0}, {'employee_id': 'B', 'c1': 1, 'c2': 0, 'c3': 0, 'c4': 0, 'c5': 0}]
如果您只有少量數據,您可以遍歷它並逐步填充列表。 我將您的初始字典命名為mydict
:
data = []
for e in mydict.keys():
entry = mydict[e]
entry['employee_id'] = e
data.append(entry)
這會將所有員工添加到列表中。
您必須遍歷主字典中的所有對象並將它們添加到新數組中。 這是它的示例代碼。
arr = []
for key in main_dict.keys():
arr.append({
"employee_id": key,
}.update(main_dict[key]))
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.