gpt4 book ai didi

python - 创建一个字典的字典

转载 作者:太空狗 更新时间:2023-10-29 21:41:27 26 4
gpt4 key购买 nike

我有几本包含书籍详细信息的词典,其中每个条目对应不同的书。

books = [1,2]
titles = {1 : 'sum_title', 2: 'other_title'}
authors = {1 : 'sum_author', 2 : 'other_author'}
length = {1 : 100, 2 : 200}
chapters = { 1 : 10, 2: 20}

我想遍历所有书籍并将字典组合成一个 dict 以转换为 .json。这是我所拥有的:

for book in (books):
All_data.append({"authors": authors[book], "title": titles[book], "length": length[book]})

然而,这会返回一个 KeyError。

我首先将数据放入多个词典的原因是这样我可以分别打印和操作它们。例如;打印所有作者,但不打印标题。他们是我可以将字典组合到另一个字典中并打印一个键的键值的方法,例如打印第 1 本书的作者吗?

非常感谢您的帮助。愿您的代码漂亮无误。

最佳答案

您可以使用列表理解来创建新的数据结构:

data = [{'author': authors[b], 'title': titles[b], 'length': length[b]} for b in books]

>>> [{'author': 'sum_author', 'title': 'sum_title', 'length': 100}, {'author': 'other_author', 'title': 'other_title', 'length': 200}]

或者“dict of dicts”的字典理解:

data = {b: {'author': authors[b], 'title': titles[b], 'length': length[b]} for b in books}

>>> {1: {'author': 'sum_author', 'title': 'sum_title', 'length': 100}, 2: {'author': 'other_author', 'title': 'other_title', 'length': 200}}

关于python - 创建一个字典的字典,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50457604/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com