【问题标题】:Convert a dictionary of equal length lists into a list of dictionaries [duplicate]将等长列表的字典转换为字典列表[重复]
【发布时间】:2017-11-18 00:41:27
【问题描述】:

我想编写一个函数,该函数能够将等长列表的列表字典转换为字典列表。

前: {'a': [1, 2, 3], 'b': [3, 2, 1]} => [{'a': 1, 'b': 3}, {'a': 2, 'b': 2}, {'a': 3, 'b': 1}]

我被抓住的事情是如何在不知道第一个字典的总长度的情况下对其进行编码,并且能够从函数中删除所有硬编码的值。

我的直觉是尝试使用默认字典,但这似乎没有帮助。

任何帮助将不胜感激!

【问题讨论】:

  • 请分享您迄今为止尝试过的内容......即您的代码

标签: python dictionary defaultdict


【解决方案1】:

Zip 值和 zip 密钥 + 该 zip 中的每个项目:

d = {'a': [1, 2, 3], 'b': [3, 2, 1]}  

[dict(zip(d.keys(),i)) for i in zip(*d.values())]

结果:

[{'a': 1, 'b': 3}, {'a': 2, 'b': 2}, {'a': 3, 'b': 1}]

【讨论】:

    猜你喜欢
    • 2019-11-27
    • 2020-03-19
    • 2017-04-23
    • 2021-10-13
    • 2016-08-29
    • 1970-01-01
    • 1970-01-01
    • 2020-11-11
    相关资源
    最近更新 更多