从列表列表中创建基于模板的词典

2024-03-29 10:38:35 发布

您现在位置:Python中文网/ 问答频道 /正文

我有两个清单:

TEMPLATE = ['sing.','pl.','mode']
DATA = [
['alpha','alphas',0],
['beta','betas',2],
['omega','omegas',3]

我想创建一个字典列表,如下所示:

[ {'sing.': 'alpha', 'pl.': 'alphas', 'mode':0},
{'sing.': 'beta', 'pl.': 'betas', 'mode':2},
{'sing.': 'omega', 'pl.': 'omegas', 'mode':3} ]

在python3中有没有一种快速的方法来实现这一点


Tags: 方法alpha列表data字典modetemplatepython3
2条回答

您可以使用zip函数、dict构造函数和列表理解,如下所示

print([dict(zip(TEMPLATE, items)) for items in DATA])

使用zip将模板与单个数据条目编织在一起。结果序列可以传递给dict构造函数。使用列表理解创建整个序列:

>>> [dict(zip(TEMPLATE,d)) for d in DATA]
[{'pl.': 'alphas', 'sing.': 'alpha', 'mode': 0}, {'pl.': 'betas', 'sing.': 'beta', 'mode': 2}, {'pl.': 'omegas', 'sing.': 'omega', 'mode': 3}]

相关问题 更多 >