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)
任何帮助将不胜感激。谢谢。
使用extend而不是append:
new_d.setdefault(key, []).extend(value)
Run Code Online (Sandbox Code Playgroud)
该extend()方法将可迭代的所有元素(列表、元组、字符串等)添加到列表的末尾。