【问题标题】:Template-based dictionary creation out of a list of lists [closed]从列表列表中创建基于模板的字典[关闭]
【发布时间】:2013-12-20 11:48:40
【问题描述】:

我有 2 个列表:

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

在 Python 3 中是否有快速的方法?

【问题讨论】:

  • 这里不是人们为你工作的地方。展示你的努力。

标签: python list python-3.x dictionary


【解决方案1】:

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

【讨论】:

    【解决方案2】:

    您可以像这样使用zip 函数、dict 构造函数和列表推导式

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

    【讨论】:

      猜你喜欢
      • 2023-03-19
      • 1970-01-01
      • 2015-03-07
      • 2018-12-17
      • 2018-03-21
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多