如何将dict的dict转换为指定格式的dict?

Rox*_*oxy 4 python dictionary list data-structures

我有一本字典的字典,如下所示:

d = {0: {1: ["hello"], 2: ["How are you"]}, 1: {1: ["!"], 2: ["?"]}}
Run Code Online (Sandbox Code Playgroud)

我希望它采用所需的格式:

result = {1:["hello", "!"], 2: ["How are you", "?"]} 
Run Code Online (Sandbox Code Playgroud)

但是,我使用以下代码以以下格式获得此信息:

new_d = {}
for sub in d.values():
    for key, value in sub.items():
        new_d.setdefault(key, []).append(value)
Run Code Online (Sandbox Code Playgroud)

结果不具有所需的结构,并且会导致列表的列表。

{1: [['hello'], ['!']], 2: [['How are you'], ['?']]}
Run Code Online (Sandbox Code Playgroud)

任何帮助将不胜感激。谢谢。

Gab*_*bip 6

使用extend而不是append

new_d.setdefault(key, []).extend(value)
Run Code Online (Sandbox Code Playgroud)

extend()方法将可迭代的所有元素(列表、元组、字符串等)添加到列表的末尾。