试试这个...
intermediate_output = [
[
"Environment",
"ok"
],
[
"Memory",
"ok"
]
]
final_output = [[{"component": x[0], "status": x[1]}] for x in intermediate_output]
print(final_output)
输出:
[[{'component': 'Environment', 'status': 'ok'}], [{'component': 'Memory', 'status': 'ok'}]]
编辑:
现在,如果您想要所有组件的列表,在继续之前,我建议您剥离嵌套列表并使其成为一个普通列表。
>>> striped_list = [list1[0] for list1 in final_output]
>>> striped_list
[{'component': 'Environment', 'status': 'ok'}, {'component': 'Memory', 'status': 'ok'}]
现在,使用列表推导...
>>> list_of_components = [item['component'] for item in striped_list]
>>> list_of_components
['Environment', 'Memory']
对于特定组件的状态,您可以再次使用 for 循环或列表推导。
>>> my_component = "Environment" # we have to find status of this component
>>> my_component_status = [item['status'] for item in striped_list if item['component'] == my_component]
>>> my_component_status
['ok']
理解列表理解的优秀文档
https://www.pythonforbeginners.com/basics/list-comprehensions-in-python
干杯!!