将元组的元组转换为具有键值对的字典

2022-01-20 00:00:00 python list dictionary tuples

问题描述

我有以下元组:

tuples=((32, 'Network architectures', 5), (33, 'Network protocols', 5))

我怎样才能把它变成这样的字典列表

How could I turn it into a list of dictionary like this

dict=[ {"id": 32, "name": "Network architectures", "parent_id": 5}, {"id": 33, "name": "Network protocols", "parent_id": 5}]


解决方案

如下使用列表推导式.首先创建一个对所有元组重复的键列表.然后只需使用 zip 创建单独的字典.

Using a list comprehension as follows. First create a list of keys which will repeat for all the tuples. Then just use zip to create individual dictionaries.

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}]

相关文章