python - 从键列表和多个值创建字典

标签 python

我有两个列表:

header = ["Name", "Age"]
detail = ["Joe", 22, "Dave", 43, "Herb", 32]

并想创建一个这样的字典列表:

[{"Name": "Joe", "Age": 22}, {"Name": "Dave", "Age": 32}, {"Name": "Herb", "Age": 32}]

这个方法zip让我部分到达那里,但只将第一组值添加到字典中:

>>> dict(zip(header, detail))
{'Age': 22, 'Name': 'Joe'}

如何将 detail 列表中的所有值输出为一个字典?我找到了这个 answer ,但这取决于包含嵌套列表的 detail

最佳答案

>>> detail = ["Joe", 22, "Dave", 43, "Herb", 32]
>>> d = dict(zip(detail[::2], detail[1::2]))
>>> d
{'Herb': 32, 'Dave': 43, 'Joe': 22}

对于您新的/编辑过的问题:

>>> d = [dict(zip(header, items)) for items in zip(detail[::2],detail[1::2])]
>>> d
[{'Age': 22, 'Name': 'Joe'}, {'Age': 43, 'Name': 'Dave'}, {'Age': 32, 'Name': 'H
erb'}]

关于python - 从键列表和多个值创建字典,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12692135/

相关文章:

python - Django模型过滤器比较月份失败

python - 如何在 python 中模拟嵌套/多层返回对象

python - 检查两个 python 函数(或方法)的兼容性

python - 如何为 Flask 后单元测试 Python 复制 Multidict

python - Flask+Apache 和 500 错误

python charmap 编解码器无法将位置 Y 字符映射中的字节 X 解码为 <undefined>

python - 将对象列表转换为列表字典

python - 如何在Python中分配类变量 "dynamically"?

c++ - 痛饮 : Unable to access constructor with double pointer

python - 单独文件中的 Django html 模板