izn*_*ddd 5 python dictionary tuples list
我有以下元组元组:
tuples=((32, 'Network architectures', 5), (33, 'Network protocols', 5))
Run Code Online (Sandbox Code Playgroud)
我怎么能把它变成这样的字典列表
dict=[ {"id": 32, "name": "Network architectures", "parent_id": 5}, {"id": 33, "name": "Network protocols", "parent_id": 5}]
Run Code Online (Sandbox Code Playgroud)
使用列表理解如下。首先创建一个键列表,该键列表将对所有元组重复。然后只需使用zip创建单个词典即可。
tuples=((32, 'Network architectures', 5), (33, 'Network protocols', 5))
keys = ["id", "name", "parent_id"]
answer = [{k: v for k, v in zip(keys, tup)} for tup in tuples]
# [{'id': 32, 'name': 'Network architectures', 'parent_id': 5},
# {'id': 33, 'name': 'Network protocols', 'parent_id': 5}]
Run Code Online (Sandbox Code Playgroud)
您可以使用列表理解:
[{'id': t[0], 'name': t[1], 'parent_id': t[2]} for t in tuples]
Run Code Online (Sandbox Code Playgroud)
这使:
[{'id': 32, 'name': 'Network architectures', 'parent_id': 5},
{'id': 33, 'name': 'Network protocols', 'parent_id': 5}]
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
371 次 |
| 最近记录: |